asp.net-mvc - mvc - razor reference
Razor vs Webforms ve el motor para el nuevo sitio ASP.NET MVC 3 (4)
Razor es más bonita (y es nueva, por lo tanto, genial).
Webforms es algo con lo que ya estoy familiarizado.
Naturalmente, sin duda iría por lo nuevo para aprender: Razor. Pero he oído hablar de dos desventajas que me preocupan:
- no puede reutilizar fácilmente los controles de formularios web existentes; en el raro caso en que necesite arrastrar algo ... Lo reiteraré: "RARO"
- He oído que es menos eficiente en el procesamiento (lleva más tiempo que los formularios web)
¿Cuáles son las ventajas de los motores de vista Razor sobre Webforms cuando se utiliza ASP.NET MVC 3?
Es posible que desee aclarar las tecnologías de las que está hablando. En ASP.Net WebForms es un framework web al igual que ASP.Net MVC es un framework web. El motor de visualización Razor es un motor de vista nuevo que es una opción diferente al motor de vista predeterminado en las aplicaciones de entorno web ASP.Net MVC.
El principal beneficio del motor de vista Razor es que facilita la escritura de contenido dinámico en sus vistas MVC porque no tiene que usar el formato <%%> como lo hace con el motor de vista predeterminado. Hay otros beneficios y Scott Gu tiene un buen blog sobre ellos aquí .
Los controles de formulario web ya no son muy utilizables en Asp.Net Mvc. Dado que el MVC no tiene el mecanismo ViewState / Postback, y la mayoría de los controles necesitan usar eso. (Formas web: 0 puntos, Navaja 0 puntos)
La sintaxis en @Razor es mucho más bonita. (Formas web: 0 puntos, Razor 1 puntos)
No sé sobre el rendimiento. Creo que el análisis (de una vez) y el renderizado es un paso tan pequeño de toda la tubería, esto no debería importar. Y podría ser cambiado por futuras actualizaciones. (Formas web: 0 puntos, Navaja 0 puntos)
Aprender curvas puede ser una perra, pero espera ahí. El código no es solo "más bonito", es más limpio, y trabaje de forma modular, puede inyectar secciones html que le permitan volver a usar el código, al igual que el código orientado a objetos, pero con solo HTML.
¡Este código más limpio significa que 500 líneas únicas ahora son solo 20! En cuanto al estado de visualización, puede utilizar campos ocultos y, una vez que aprenda a codificar sin, no se perderá.
VS2013 ahora tiene un proyecto de muestra MVC Razor con F # que le permitirá ponerse al día rápidamente.
El mismo proyecto en Razor con F # que usa 500 líneas de código requeriría 5000 o más líneas de código C # y Webform.
Yo recomendaría que aprendieras esta nueva tecnología antes de que un interno de 16 años tome tu trabajo ;-)
Esto ya se ha abordado mediante la siguiente pregunta: ¿La sintaxis de Razor proporciona una ventaja convincente en el marcado de IU?