Sono nelle prime fasi della progettazione di un sistema che sarà essenzialmente diviso in due parti. Una parte è un servizio e l'altra è un'interfaccia con il servizio che fornisce dati attraverso qualcosa come OData o XML. L'applicazione si baserà sul modello architettonico MVC. Per le viste, stiamo considerando l'utilizzo di XSLT o Razor in ASP.NET.
XSLT o Razor aiuterebbe a fornire una separazione delle preoccupazioni in cui l'XML originale o la risposta rappresentano il tuo modello, la XSLT o 'Razor view' rappresenta la tua vista. Lascerò fuori il controller per questo esempio. La proposta di progettazione iniziale raccomanda XSLT, tuttavia ho suggerito l'uso di Razor come motore di visualizzazione più intuitivo.
Questi sono i motivi che ho suggerito per Razor (C #):
- Più facile da lavorare e creare pagine più complicate.
- Può produrre facilmente output non * ML, ad esempio csv, txt, fdf
- Modelli meno dettagliati
- Il modello di visualizzazione è fortemente tipizzato, in cui XSLT dovrebbe fare affidamento su convenzioni, ad esempio valori booleani o di data
- Il markup è più accessibile, ad esempio nbsp, normalizzazione newline, normalizzazione valori valore, regole degli spazi bianchi
- L'helper HTML incorporato può generare un codice di convalida JS basato sugli attributi DTO
- L'helper HTML incorporato può generare collegamenti ad azioni
E gli argomenti per XSLT sul rasoio erano:
- XSLT è uno standard e esisterà ancora molti anni nel futuro.
- È difficile spostare accidentalmente la logica nella vista
- Easer per non programmatori (con cui non sono d'accordo).
- Ha avuto successo in alcuni dei nostri progetti passati.
- I valori dei dati sono codificati in HTML per impostazione predefinita
- Sempre ben formato
Quindi sto cercando strumenti su entrambi i lati, raccomandazioni o esperienze che fanno una scelta simile?