Estoy en las primeras etapas del diseño de un sistema que se dividirá esencialmente en dos partes. Una parte es un servicio y la otra es una interfaz con el servicio que proporciona datos a través de algo como OData o XML. La aplicación se basará en el patrón arquitectónico MVC. Para las vistas, estamos considerando usar XSLT o Razor en ASP.NET.
XSLT o Razor ayudarían a proporcionar una separación de las preocupaciones en las que el XML original o la respuesta representa su modelo, el XSLT o 'Razor view' representa su vista. Dejaré el controlador fuera para este ejemplo. La propuesta de diseño inicial recomienda XSLT, sin embargo, sugerí el uso de Razor como un motor de visualización más amigable.
Estas son las razones que sugerí para Razor (C #):
- Es más fácil trabajar y construir páginas más complicadas.
- Puede producir fácilmente salidas que no sean * ML, por ejemplo, csv, txt, fdf
- Plantillas menos detalladas
- El modelo de vista está fuertemente tipado, donde XSLT necesitaría confiar en la convención, por ejemplo, valores booleanos o de fecha
- El marcado es más accesible, por ejemplo, nbsp, normalización de nueva línea, normalización de valor de atributo, reglas de espacios en blanco
- El asistente HTML integrado puede generar código de validación JS basado en atributos DTO
- El asistente HTML integrado puede generar enlaces a acciones
Y los argumentos para XSLT sobre la maquinilla de afeitar fueron:
- XSLT es un estándar y seguirá existiendo muchos años en el futuro.
- Es difícil mover accidentalmente la lógica a la vista
- Más fácil para los no programadores (con lo que no estoy de acuerdo).
- Ha tenido éxito en algunos de nuestros proyectos pasados.
- Los valores de datos están codificados en HTML de forma predeterminada
- Siempre bien formado
Entonces, ¿estoy buscando aguilones a ambos lados, recomendaciones o alguna experiencia haciendo una elección similar?