Je suis aux premiers stades de la conception d'un système qui sera essentiellement divisé en deux parties. Une partie est un service et l'autre est une interface avec le service fournissant des données via quelque chose comme OData ou XML. L'application sera basée sur le modèle architectural MVC. Pour les vues, nous envisageons d'utiliser XSLT ou Razor sous ASP.NET.
XSLT ou Razor aideraient à fournir une séparation des préoccupations lorsque le XML ou la réponse d'origine représente votre modèle, le XSLT ou «Razor view» représente votre vue. Je laisse le contrôleur hors de cet exemple. La proposition de conception initiale recommande XSLT, mais j'ai suggéré l'utilisation de Razor à la place comme moteur de visualisation plus convivial.
Ce sont les raisons que j'ai suggérées pour Razor (C #):
- Plus facile à utiliser et à créer des pages plus compliquées.
- Peut facilement produire une sortie non * ML, par exemple csv, txt, fdf
- Modèles moins verbeux
- Le modèle de vue est fortement typé, où XSLT devrait s'appuyer sur des conventions, par exemple des valeurs booléennes ou de date
- Le balisage est plus accessible, par exemple nbsp, normalisation de nouvelle ligne, normalisation de valeur d'attribut, règles d'espaces blancs
- Un assistant HTML intégré peut générer du code de validation JS basé sur les attributs DTO
- Un assistant HTML intégré peut générer des liens vers des actions
Et les arguments pour XSLT sur le rasoir étaient:
- XSLT est une norme et existera encore de nombreuses années dans le futur.
- Il est difficile de déplacer accidentellement la logique dans la vue
- Easer pour les non programmeurs (avec lequel je ne suis pas d'accord).
- Il a réussi dans certains de nos projets antérieurs.
- Les valeurs des données sont encodées en HTML par défaut
- Toujours bien formé
Je recherche donc des arguments de part et d'autre, des recommandations ou toute expérience faisant un choix similaire?