J'ai recherché sur SO & Google une ventilation des différents moteurs de vue disponibles pour ASP.NET MVC, mais je n'ai pas trouvé beaucoup plus que de simples descriptions de haut niveau de ce qu'est un moteur de vue.
Je ne recherche pas nécessairement "le meilleur" ou "le plus rapide" mais plutôt des comparaisons du monde réel des avantages / inconvénients des principaux acteurs (par exemple le WebFormViewEngine par défaut, les moteurs de visualisation MvcContrib, etc.) pour diverses situations. Je pense que cela serait vraiment utile pour déterminer si le passage du moteur par défaut serait avantageux pour un projet ou un groupe de développement donné.
Quelqu'un at-il rencontré une telle comparaison?
Réponses:
Moteurs de vue ASP.NET MVC (Wiki de communauté)
Puisqu'une liste complète ne semble pas exister, commençons-en une ici sur SO. Cela peut être d'une grande valeur pour la communauté ASP.NET MVC si les gens ajoutent leur expérience (en particulier ceux qui ont contribué à l'un d'entre eux). Tout ce qui est mis en œuvre
IViewEngine
(par exempleVirtualPathProviderViewEngine
) est un jeu équitable ici. Alphabétisez simplement les nouveaux moteurs de vue (en laissant WebFormViewEngine et Razor en haut) et essayez d'être objectif dans les comparaisons.System.Web.Mvc.WebFormViewEngine
Objectifs de conception:
Avantages:
Les inconvénients:
Exemple:
System.Web.Razor
Objectifs de conception:
Avantages:
Les inconvénients:
Aucune API documentée, http://msdn.microsoft.com/en-us/library/system.web.razor.aspxExemple n ° 1 (notez le placement de "string [] ..."):
Bellevue
Objectifs de conception:
Brail
Objectifs de conception:
Avantages:
Les inconvénients:
Exemple:
Hasic
Avantages:
Les inconvénients:
Exemple:
NDjango
Objectifs de conception:
Avantages:
WebFormViewEngine
NHaml
Objectifs de conception:
Avantages:
Les inconvénients:
Exemple:
NVelocityViewEngine (MvcContrib)
Objectifs de conception:
Avantages:
Les inconvénients:
Exemple:
SharpTiles
Objectifs de conception:
Avantages:
Les inconvénients:
Exemple:
Spark View Engine
Objectifs de conception:
Avantages:
Les inconvénients:
Exemple:
StringTemplate View Engine MVC
Objectifs de conception:
Avantages:
Les inconvénients:
Battements d'ailes
Avantages:
Les inconvénients:
XsltViewEngine (MvcContrib)
Objectifs de conception:
Avantages:
Les inconvénients:
la source
Mon choix actuel est Razor. Il est très propre et facile à lire et maintient les pages d'affichage très faciles à entretenir. Il existe également un support intellisense qui est vraiment génial. ALos, lorsqu'il est utilisé avec des aides Web, il est également très puissant.
Pour fournir un exemple simple:
Et voila. C'est très propre et facile à lire. Certes, c'est un exemple simple, mais même sur des pages et des formulaires complexes, il est toujours très facile à lire et à comprendre.
Quant aux inconvénients? Eh bien jusqu'à présent (je suis nouveau dans ce domaine) lors de l'utilisation de certains assistants pour les formulaires, il n'y a pas de prise en charge pour l'ajout d'une référence de classe CSS, ce qui est un peu ennuyeux.
Merci Nathj07
la source
Je sais que cela ne répond pas vraiment à votre question, mais les différents moteurs de vue ont des objectifs différents. Le Spark View Engine , par exemple, vise à débarrasser vos vues de la "soupe de tag" en essayant de rendre tout fluide et lisible.
Votre meilleur pari serait de simplement regarder quelques implémentations. Si cela semble attrayant pour l'intention de votre solution, essayez-la. Vous pouvez mélanger et faire correspondre les moteurs de vue dans MVC, donc cela ne devrait pas être un problème si vous décidez de ne pas utiliser un moteur spécifique.
la source
Vérifiez ce SharpDOM . Il s'agit du dsl interne ac # 4.0 pour générer du HTML et également du moteur de vue mvc asp.net.
la source
J'aime ndjango . Il est très simple d'utilisation et très flexible. Vous pouvez facilement étendre la fonctionnalité d'affichage avec des balises et des filtres personnalisés. Je pense que "fortement lié à F #" est plutôt un avantage qu'un inconvénient.
la source
Je pense que cette liste devrait également inclure des échantillons de chaque moteur de vue afin que les utilisateurs puissent en avoir une idée sans avoir à visiter chaque site Web.
Les images disent mille mots et les échantillons de balisage sont comme des captures d'écran pour les moteurs de vue :) Alors, voici celui de mon moteur de vue Spark préféré
la source