He estado buscando en SO y Google un desglose de los diversos motores de visualización disponibles para ASP.NET MVC, pero no he encontrado mucho más que simples descripciones de alto nivel de lo que es un motor de visualización.
No busco necesariamente el "mejor" o el "más rápido", sino algunas comparaciones del mundo real de las ventajas / desventajas de los principales jugadores (por ejemplo, el WebFormViewEngine predeterminado, MvcContrib View Engines, etc.) para diversas situaciones. Creo que esto sería realmente útil para determinar si cambiar del motor predeterminado sería ventajoso para un proyecto o grupo de desarrollo dado.
¿Alguien ha encontrado tal comparación?
Respuestas:
ASP.NET MVC View Engines (Wiki de la comunidad)
Como no parece existir una lista completa, comencemos una aquí en SO. Esto puede ser de gran valor para la comunidad ASP.NET MVC si las personas agregan su experiencia (especialmente cualquiera que haya contribuido a uno de estos). Cualquier implementación
IViewEngine
(por ejemploVirtualPathProviderViewEngine
) es un juego justo aquí. Simplemente alfabetice los nuevos motores de visualización (dejando WebFormViewEngine y Razor en la parte superior) e intente ser objetivo en las comparaciones.System.Web.Mvc.WebFormViewEngine
Metas de diseño:
Pros:
Contras:
Ejemplo:
System.Web.Razor
Metas de diseño:
Pros:
Contras:
Sin API documentada, http://msdn.microsoft.com/en-us/library/system.web.razor.aspxCon Ejemplo # 1 (observe la ubicación de "string [] ..."):
Bellevue
Metas de diseño:
Candaliza
Metas de diseño:
Pros:
Contras:
Ejemplo:
Hasic
Pros:
Contras:
Ejemplo:
NDjango
Metas de diseño:
Pros:
WebFormViewEngine
NHaml
Metas de diseño:
Pros:
Contras:
Ejemplo:
NVelocityViewEngine (MvcContrib)
Metas de diseño:
Pros:
Contras:
Ejemplo:
SharpTiles
Metas de diseño:
Pros:
Contras:
Ejemplo:
Spark View Engine
Metas de diseño:
Pros:
Contras:
Ejemplo:
StringTemplate View Engine MVC
Metas de diseño:
Pros:
Contras:
Wing Beats
Pros:
Contras:
XsltViewEngine (MvcContrib)
Metas de diseño:
Pros:
Contras:
fuente
Mi elección actual es Razor. Es muy limpio y fácil de leer y mantiene las páginas de vista muy fáciles de mantener. También hay soporte intellisense que es realmente genial. También, cuando se usa con ayudantes web, también es realmente poderoso.
Para proporcionar una muestra simple:
Y ahí lo tienes. Eso es muy limpio y fácil de leer. De acuerdo, ese es un ejemplo simple, pero incluso en páginas y formularios complejos sigue siendo muy fácil de leer y comprender.
En cuanto a los contras? Bueno, hasta ahora (soy nuevo en esto) cuando uso algunos de los ayudantes para formularios, hay una falta de soporte para agregar una referencia de clase CSS que es un poco molesto.
Gracias Nathj07
fuente
Sé que esto realmente no responde a su pregunta, pero diferentes motores de visualización tienen diferentes propósitos. La chispa del motor Ver , por ejemplo, busca deshacerse de sus puntos de vista "sopa etiqueta" tratando de hacer todo lo fluida y fácil de leer.
Su mejor opción sería mirar algunas implementaciones. Si parece atractivo para la intención de su solución, pruébelo. Puede mezclar y combinar motores de vista en MVC, por lo que no debería ser un problema si decide no utilizar un motor específico.
fuente
Comprueba este SharpDOM . Este es un dsl interno ac # 4.0 para generar html y también asp.net mvc view engine.
fuente
Me gusta ndjango . Es muy fácil de usar y muy flexible. Puede ampliar fácilmente la funcionalidad de visualización con etiquetas y filtros personalizados. Creo que "muy ligado a F #" es más bien una ventaja que una desventaja.
fuente
Creo que esta lista también debe incluir ejemplos de cada motor de visualización para que los usuarios puedan obtener una muestra de cada uno sin tener que visitar cada sitio web.
Las imágenes dicen más que mil palabras y las muestras de marcas son como capturas de pantalla para ver motores :) Así que aquí hay una de mi Spark View Engine favorito
fuente