[PLEFDS] Inline, beside, behind, Web Site Project, Web Application Project, y bla bla bla…

De ahora en adelante [PLEFDS = para leer el fin de semana]. Digamos que hay dos maneras de tener el código de página: código "Inline", ósea dentro del mismo archivo aspx, y el modelo separado del código de la aspx, ósea hablamos de Behind y de Beside. La primera pregunta es ¿Inline o código de separado?.

Ahora si escogo código separado, Behind o Beside?. En VS 2003 sólo teníamos Behind (Web Application Project). En VS2005 sólo teníamos Beside (Web Site Project), pero si a VS2005 le poníamos SP1, tenemos disponible los tipos de proyectos, en VS2008 tenemos los dos también, y ahora la segunda pregunta es: ¿Web Site Project o Web Application Project?.

Por cierto, y antes de que salte alguien, estos temas no son nuevos y no es mi intención presentarlos como una novedad, la idea es presentar un resumen de estos, y como va esto ahora con VS2008.

Leyendo todos los artículos de abajo, tengan por seguro que no les quedará ninguna duda. Si estamos nuevos en esto, y vamos a iniciar un nuevo tipo de proyecto este tipo de decisiones puede darte satisfacciones o dolores de cabeza si no tomas una decisión correcta respecto a tu escenario.

Voy a dar una aproximación rápida, aunque primero quería leer los principales artículos de abajo cuando hubiera un tiempito libre, pero si ese tiempito no llega (cosa muy común), quería dejar la lista para los interesados, y dejar una rápida opinión de acuerdo a la pequeña experiencia que llevo :D.

Inline o código separado?, pues, puedes tener los dos en un mismo sitio web, ya que esto es por página, y puedes usarlo en un Web Site Project, como en un Web Application Project. Ahora Inline puede recargar mucho el código de página, convirtiendo el mantenimiento de la misma en una tarea compleja. Yo recomendaría Inline, para cosas simples como una página que haga un redirect, y cosas así, cosas que no comprometan la seguridad, porque es más fácil que vean el aspx (sólo con notepad), que una dll (necesitan Reflector).

Ahora la pregunta Web Site o Web Application?, a ver decir que en VS2005 eliminaron Web Application, pero después con el SP1 agregaron nuevamente Web Application. Y en VS2008 tenemos disponibles los dos: Web Site Project o Web Application Project. Me quedo con esta frase del primer artículo de Patrick MacKay:

"Como ya había mencionado, en Visual Studio 2005, la forma de compilación y entrega para proyectos web cambió considerablemente. Sin entrar en justificaciones como tampoco en detalles, sólo agregaré que Microsoft enmendó el rumbo proveyendo algo similar a como funcionaba en Visual Studio 2003. Éste se llama Visual Studio 2005 Web Application Projects"

No voy a comentar cual es mejor entre Web Site o Web Application, con respecto si uno es más fácil de abrir, o si con el otro es más fácil migrar aplicaciones desde VS2003, si no con respecto al modo de compilación, por lo que pude ver el modo de compilación de Web Application Project es mas ordenado que Web Site Project… pero esto hay que sustentarlo como lo hace Patrick en la serie de artículos que tiene, y también hay que leer un poco de como funciona todo esto de la compilación… cuando llegue ese tiempo libre espero poner screenshoots de las pantallas con los diversos modos, pero si quieren ir adelantándose pueden probar esto: Creen dos Webs: Web Site Project y Web Application Project, dentro de cada uno agreguen una página Inline a la ya existente (en Web Site habrá una página Code-Beside, y en Web Application una página Code-Behind), agreguen código simple, botones, cajas de texto, y labels. Publiquen las dos web, y revisen esta carpeta: C:WindowsMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET Files. Después de navegar en la web, verán como se construyen las carpetas de compilación, las pruebas que pueden hacer en los web Site es: Cambiar el código de la página Inline (C# o VB), y vean como afecta en cada Web, y después de esto cambien el código en una página con el archivo de código separado, y también como afecta… esta son las primeras cosas que se me ocurren probar…

P.D.: Y yo que quería dejar un comentario de unas pocas líneas :S.

Espero que llegue ese tiempito, pero por mientras la pequeña lista de artículos:

Introducción:

 

Web Site vs Web Projects:

 

Code-Behind vs Code-Inline vs Code-Beside:

Model Compilation ASP.NET 2.0:

MSBuild:

Saludos,

3 comentarios en “[PLEFDS] Inline, beside, behind, Web Site Project, Web Application Project, y bla bla bla…”

  1. El principal problema que le veo a un Web Site (WS) es que se integra mal con un controlador de código fuente, para excluir un fichero del WS se renombra con el la extensión ‘.exclude’. Es algo que no siempre es deseable. Por ejemplo, imagina que el proyecto web crea archivos temporales, o permite subir ficheros. Al volver a abrir la solución Visual Studio intentará agregar esos ficheros al control de código fuente. Además el hecho de que no haya una lista de ficheros en un proyecto (.csproj) crea una sensación de inconsistencia , ya que no sabes como está creciendo el proyecto distribuido, con que directivas de análisis de código se está compilando, en últimas, se pierde la potencia que te pueda dar un script de MSBUILD .
    Personalmente veo los WS como una fórma rápida de crear un proyecto para hacer pruebas simples.

  2. Holas pvila!

    Hablando de Source Control y de Web Site Project, el problema que comentas no me dio muchas molestias, lo que si dio un poco de molestias fueron como manejan las referencias sobre todo si tienes 5 developers usando el VSS, y además si llegas a más de 20 proyectos… las referencias ya te comienzan a molestar… es que incluye las referencias como archivos en VSS…

    en cambio con un Web Application Project, las referencias son referencias y no son agregas como archivos al Source Control…

    un saludos, y gracias por tu aporte!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *