Asp.Net MVC vs Castillo Monorraíl


Tengo algunas experiencias en la aplicación de compilación con Asp.Net, pero ahora los marcos MVC se vuelven más populares. Me gustaría intentar construir una nueva aplicación web multilingüe usando con Asp.Net MVC o Castillo Monorraíl pero no se cual es bueno para mi. No me gusta el motor de vista de formulario web, pero me gusta la función de enrutamiento en Asp.Net MVC.

  • ¿Podría alguien hablar de pros y contras entre ellos?
  • Qué ViewEngine también es mejor para anular el maestro plantilla?
Author: tereško, 2008-11-14

4 answers

Hablando como un defensor del monorriel, tengo que decir que probablemente debería ir para ASP.NET MVC. Para ser honesto, el simple hecho de que ASP.NET MVC se va a convertir en la arquitectura por defecto dentro de tres años probablemente debería oscilar. Esta ecuación era diferente hace un año, simplemente porque la arquitectura predeterminada tenía serios problemas de productividad en comparación con el monorriel.

Si quieres hablar de ventajas y desventajas técnicas:

  • ASP.NET AJAX es un desastre (evítalo), pero ahora tienen jQuery. De hecho, el soporte de jQuery es mejor que cualquier otro entorno. Por supuesto, solo se obtiene completamente con la integración IDE con el motor de vista estándar.
  • Hay algunas mejoras estéticas (por ejemplo, la forma en que se transmite la información del modelo es mucho más limpia y más obvia que el monorriel).

Además, no descartes el motor de vista estándar de las manos. Usted no tiene que lanzar controles en él como lo hizo con ASP.NET, puedes codificarlo una manera bastante similar a Brail, solo usando C# en lugar de Boo.

Hay cosas que son simplemente feas * el número de métodos que toman objeto para un parámetro. Buena suerte encontrando la documentación sobre lo que esperan exactamente. * La afición de Microsoft por las clases abstractas sobre las interfaces. Tienen sus razones, pero todavía no me gusta.

Además, en muchos sentidos, el monorriel sigue siendo la plataforma más completa. No hay abstracción para validación o paginación en ASP.NET, para instancia. Además, no hay realmente ninguna ayuda para vincularse a un modelo. Los ayudantes tienen muy poca funcionalidad en comparación con sus equivalentes de monorraíl.

En general, sin embargo, creo que ASP.NET MVC es un ganador.

 27
Author: Julian Birch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-30 15:19:02

Monorriel y ASP.NET MVC son fundamentalmente muy similares, usted debe estar bien usando cualquiera de ellos. El monorriel ha existido mucho más tiempo y, por lo tanto, tiene características de nivel más alto.

La fuerza principal de ASP.NET MVC es su motor de enrutamiento, para ser justos monorraíl tiene más o menos un motor de enrutamiento equivalente, y con alguna modificación puede utilizar el ASP.NET Motor de enrutamiento MVC con monorraíl como el motor de enrutamiento no está realmente en ASP.NET MVC pero en el Sistema.Web.Enrutamiento (Liberado en. NET 3.5 SP1). ASP.NET MVC y la integración con Visual studio también es una ventaja, y probablemente mejorará a medida que nos acerquemos a RTM de v1.

El proyecto MvcContrib contiene algunos grandes motores de vista, como Spark, NHaml y Brail. Nadie podría ser considerado "Mejor", un favorito personal es Spark. Para más información sobre spark: http://dev.dejardin.org/documentation/syntax

El motor WebForms tiene intellisense, lo que es una gran ventaja que, según mi conocimiento, todos los motores de vista alternativos falta.

 10
Author: Torkel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-11-14 15:21:38

Aparte de la popularidad percibida y el apoyo de Microsoft, ASP.NET MVC todavía carece de algunas características básicas que Monorail ha tenido durante mucho tiempo, como la organización de controladores (Áreas), ViewComponents nativos y Filtros que pueden usar IoC para nombrar los más importantes.

Tengo algunas aplicaciones grandes que utilizan todas estas características y he tenido dificultades para portarlas a ASP.NET MVC.

He trabajado con Monorraíl desde hace algunos años y aunque MVC parece prometedor y es la flexibilidad es impresionante, todavía me parece akward que para cada otra cosa que trato de hacer, resulta que no está allí y tengo que conectar una pequeña pieza de MvcContrib, otra pieza de SharpArchitecture, construirlo yo mismo, se obtiene la imagen. Monorraíl es mucho más fácil de trabajar con (en este momento, es decir).

Espero que las cosas mejoren en los próximos meses a medida que algunas soluciones propuestas comiencen a levantarse contra otras y se vuelvan más convencionales. Hey, la diversidad de opciones es buena pero confía en mí, usted no quiere estar en Java-tierra hace 3 años donde había tantos marcos web que usted podría construir su sitio utilizando uno para cada página diferente!

Mientras tanto, seguiré portando lentamente mis aplicaciones de MR a MVC, por si acaso.

 7
Author: Sephiroth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-05-13 16:02:54
  1. Creo que MVC gana sin duda. Su conjunto de características es muy similar, pero va a ser el más "popular" de los dos (y por lo tanto típicamente más ampliamente apoyado, documentado y extendido a través de la comunidad de desarrollo). Además, el nuevo ViewEngine (Razor).. y las mejoras de IDE tienen en cuenta para mí, y aumentan el valor de elegir MVC sobre monorraíl, en mi opinión.

  2. He utilizado casi todos los ViewEngines comunes, pero terminó rodando mi propio ( creado un OpenSource Project para ello) utilizando el impresionante motor de plantillas StringTemplate. ST es una verdadera separación de preocupaciones, OMI. Como resultado, me encuentro escribiendo mejores aplicaciones, con mucho menos sopa de etiquetas. También tiré unintroducción rápida y guía de referencia si elige patear los neumáticos en el motor. He tenido una suerte increíble en los proyectos que he desplegado hasta ahora con él. Dicho esto, Razor (MVC 3) se ve bastante impresionante.

 1
Author: jamisonLikeCode,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-09-26 21:38:49