Etiquetas

, ,

El framework ASP.NET MVC fue creado por Microsoft con la idea de proveer a los desarrolladores de aplicaciones web mayor control sobre el html, crear URLs intuitivas de manera mas potente, lo cual ayuda a posicionar mejor las paginas asp.net en los motores de búsqueda, mantener el SoC (separation of concerns) de una manera mas clara y limpia de manera que las aplicaciones sean mas fáciles de mantener y extenderse,  y por ultimo y uno de los aspectos mas importante el ASP.NET MVC nos permite llevar un desarrollo guiado por pruebas (for test-driven development) facilitándonos la creación y ejecución de las pruebas unitarias.

Ahora bien la idea de ASP.NET MVC no es ser un sustituto para las tradicionales aplicaciones basadas en web forms sino aportarnos otra opción mas al momento de realizar nuestros proyectos web por lo tanto la única manera de poder decidirnos entre uno y otro es analizar sus ventajas y desventajas y en base a eso tomar nuestra decisión.

Ventajas de formularios Web Forms ASP.NET

  • Para empezar a desarrollar con Web Forms ASP.NET no es necesario ser un experto en html o javaScript.
  • Para empezar a escribir una aplicación Web ASP.NET, sólo necesita conocer los fundamentos de desarrollo. NET y controles de servidor.
  • Los Controles de servidor generan HTML mediante programación y la canalización en tiempo de ejecución,  esto contribuyen significativamente a un ciclo de desarrollo rápido.
  • Devolución automática de llenado de los campos de entrada, autenticación y autorización antes de procesamiento de páginas.
  • Productividad y desarrollo rápido de aplicaciones controladas por datos.

Inconvenientes de formularios Web Forms

  • La separation of concerns  (SoC) no es natural en el paradigma de formularios Web Forms.
  • El difícil realizar pruebas automáticas debido a que ASP.NET se basa en un entorno en tiempo de ejecución monolítico, que se puede extender en cierta medida, pero no es un sistema flexible y conectable.
  • Para lograr mantener el estado es necesario guardar el mismo en un control oculto de la pagina.
  • Para los motores de búsqueda es mas difícil ubicar a las paginas asp.net en un Rank alto debido a que las paginas hace post hacia si mismas en lugar de tener link con parámetros, por otro lado las palabras claves de la pagina en la que se basa el Rank del motor de búsqueda puede encontrarse pasado el viewstate impidiendo que sean detectadas si el viewstate es muy largo.

Ventajas de ASP.NET MVC

  • Ha sido diseñados desde cero para realizar SoC y TDD.
  • No se realizan postback para atender una petición del usuario.
  • El Viewstate no es necesario para mantener el estado de la página.
  • No se utilizan controles de servidor con los que se pierde el control del html generado.
  • No depende de archivos aspx físicos.
  • El entorno de tiempo de ejecución es en gran medida la misma que en formularios Web Forms ASP.NET, pero el ciclo de solicitud es más sencillo y más directa.
  • Una parte esencial del modelo de formularios Web Forms, el ciclo de vida de página, ya no es necesaria en ASP.NET MVC.

Inconvenientes de ASP.NET MVC

  • Control total sobre HTML, JavaScript y CSS, ASP.NET MVC significa que se introducen manualmente los elementos Web.
  • Toma un paso hacia atrás en términos de productividad y facilidad de uso.
  • Se requiere familiarización inicial con el patrón MVC. Se tiene que saber cómo funcionan conjuntamente los controladores y vistas en la implementación de ASP.NET.
  • No se puede aprender fácilmente experimentando lo que disminuye la productividad de los desarrolladores.

La decisión final sobre que framework utilizar dependerá de cuales de las características de ambos frameworks se adaptan a las necesidades del proyecto a desarrollar. Si quieren empezar a aprender un poco mas sobre el Framework  ASP.NET MVC les recomiendo que visiten los siguientes link donde el mismo Scott Guthrie explica las bondades y características del Framework  ASP.NET MVC.

MVC parte 1

MVC parte 2

MVC parte 3

MVC parte 4