jueves, 6 de diciembre de 2007

ASP.NET: Web Site o Web Application

Cuando VS 2005 salió a la luz, introdujo un nuevo tipo de proyecto: ASP.NET WEB SITE.
Bueno o malo, en realidad era la única opción que se tenía a la hora de crear un aplicativo web.
Anteriormente, VS 2003, mantenía otro tipo de proyecto llamado: ASP.NET WEB APPLICATION, el cual elegíamos cada vez que tocaba hacer un aplicativo web, y todos éramos felices.

Inexplicablemente, este tipo de projecto fue removido en VS 2005, dejando como única opción los WEB SITE.
Bueno, fue removido y luego restablecido.
Los desarrolladores ya se habían acostumbrado tanto a las Web Application que Microsoft tuvo que retractarse y restablecerlo en el Service pack 1 de VS 2005.
Claro, además de las limitaciones que se halló en los Web Sites (que luego veremos).
Luego de instalar el Service pack 1 en VS 2005, ya podemos elegir cuál tipo de aplicación queremos:
-Web Site o
-Web Application
Pero, cuáles son las diferencias entre estos dos tipos de proyecto?
Veamos.
1.-Un web site es la versión simplificada de los proyectos de tipo aplicación web:
No tiene un archivo de tipo proyecto (.vbproj por ejemplo) que ate toda la aplicación... en un web site, el proyecto es conformado por los archivos contenidos en el directorio vitual, tan simple como eso.
2.-Un proyecto de tipo web application compila en un único assembly, cada vez que se modifique algo en la aplicación web, el assembly debe generarse nuevamente.

Un proyecto de tipo web site en cambio, compila dinámicamente... esto es, cada página puede ser compilada y depurada por separado.
3.-Los proyectos de tipo aplicación son puestos en producción TODO A LA VEZ, con un único assembly representando al proyecto.

Los web site en cambio, son puestos en producción por separado, esto quiere decir que se suben varios ensamblados, y cada uno de ellos puede ser modificado y reemplazado por separado, sin afectar a los demás. Fortaleza? debilidad?
Pero claro, también podemos forzar a que el web site compile en un único assembly.... pero eso lo veremos en el próximo post... les parece?
En resumen, cada tipo de proyecto tiene sus chiches (inconvenientes) y pros.

dr. de doctores... cuál se recomienda?
Si estás empezando un nuevo proyecto.... elige un proyecto de tipo Web Application a ojos cerrados y te evitarás sinsabores.
Los proyectos de tipo Web Site en teoría son una buena idea, pero en la práctica se muestran muy limitados.
Hay algunos casos en los que no tienes alternativa, verdad?

Por ejemplo, si usas Visual Web Developer, la única opción que tienes es Web Site... o cuando vas a distribuir el proyecto a otras personas que usan Visual Web Developer... tienes opción?

2 comentarios:

Unknown dijo...

Otra razon importante para escoger web applications, tiene que ver con los proyectos desarrollados para Sharepoint. Más información aquí

Segundo Serrano dijo...

Ok, gracias por el aporte.