Estou nos estágios iniciais do design de um sistema que será essencialmente dividido em duas partes. Uma parte é um serviço e a outra é uma interface com o serviço que fornece dados através de algo como OData ou XML. O aplicativo será baseado no padrão de arquitetura MVC. Para as visualizações, estamos considerando usar o XSLT ou o Razor no ASP.NET.
O XSLT ou o Razor ajudaria a fornecer uma separação de preocupações em que o XML ou resposta original representa seu modelo, o XSLT ou 'Razor view' representa sua visão. Vou deixar o controlador de fora para este exemplo. A proposta de design inicial recomenda o XSLT, no entanto, sugeri o uso do Razor como um mecanismo de exibição mais amigável.
Estas são as razões que sugeri para o Razor (C #):
- Mais fácil de trabalhar e criar páginas mais complicadas.
- Pode facilmente produzir saída não * ML, por exemplo, csv, txt, fdf
- Modelos menos detalhados
- O modelo de visualização é fortemente tipado, onde o XSLT precisaria confiar na convenção, por exemplo, valores booleanos ou de data
- A marcação é mais acessível, por exemplo, nbsp, normalização de nova linha, normalização de valor de atributo, regras de espaço em branco
- O auxiliar HTML integrado pode gerar código de validação JS com base nos atributos do DTO
- O auxiliar HTML integrado pode gerar links para ações
E os argumentos para XSLT sobre navalha foram:
- O XSLT é um padrão e ainda existirá muitos anos no futuro.
- É difícil mover acidentalmente a lógica para a visualização
- Mais fácil para não programadores (com os quais não concordo).
- Foi bem-sucedido em alguns de nossos projetos anteriores.
- Os valores dos dados são codificados em HTML por padrão
- Sempre bem formado
Então, eu estou procurando informações de ambos os lados, recomendações ou qualquer experiência que faça uma escolha semelhante?