Ich habe bei SO & Google nach einer Aufschlüsselung der verschiedenen für ASP.NET MVC verfügbaren View Engines gesucht, aber nicht viel mehr als einfache allgemeine Beschreibungen der Ansicht einer View Engine gefunden.
Ich suche nicht unbedingt nach "besten" oder "schnellsten", sondern nach realen Vergleichen der Vor- und Nachteile der Hauptakteure (z. B. der Standard-WebFormViewEngine, der MvcContrib View Engines usw.) für verschiedene Situationen. Ich denke, dies wäre sehr hilfreich, um festzustellen, ob ein Wechsel von der Standard-Engine für ein bestimmtes Projekt oder eine bestimmte Entwicklungsgruppe von Vorteil ist.
Hat jemand einen solchen Vergleich erlebt?
Antworten:
ASP.NET MVC View Engines (Community-Wiki)
Da eine umfassende Liste nicht zu existieren scheint, beginnen wir eine hier auf SO. Dies kann für die ASP.NET MVC-Community von großem Wert sein, wenn Personen ihre Erfahrungen hinzufügen (insbesondere alle, die zu einer dieser Erfahrungen beigetragen haben). Alles, was implementiert wird
IViewEngine
(z. B.VirtualPathProviderViewEngine
), ist hier faires Spiel. Alphabetisieren Sie einfach neue View Engines (lassen Sie WebFormViewEngine und Razor oben) und versuchen Sie, bei Vergleichen objektiv zu sein.System.Web.Mvc.WebFormViewEngine
Designziele:
Vorteile:
Nachteile:
Beispiel:
System.Web.Razor
Designziele:
Vorteile:
Nachteile:
Keine dokumentierte API, http://msdn.microsoft.com/en-us/library/system.web.razor.aspxCon Beispiel # 1 (beachten Sie die Platzierung von "string [] ..."):
Bellevue
Designziele:
Brail
Designziele:
Vorteile:
Nachteile:
Beispiel:
Hasic
Vorteile:
Nachteile:
Beispiel:
NDjango
Designziele:
Vorteile:
WebFormViewEngine
NHaml
Designziele:
Vorteile:
Nachteile:
Beispiel:
NVelocityViewEngine (MvcContrib)
Designziele:
Vorteile:
Nachteile:
Beispiel:
SharpTiles
Designziele:
Vorteile:
Nachteile:
Beispiel:
Spark View Engine
Designziele:
Vorteile:
Nachteile:
Beispiel:
StringTemplate View Engine MVC
Designziele:
Vorteile:
Nachteile:
Wing Beats
Vorteile:
Nachteile:
XsltViewEngine (MvcContrib)
Designziele:
Vorteile:
Nachteile:
quelle
Meine aktuelle Wahl ist Rasiermesser. Es ist sehr sauber und leicht zu lesen und hält die Ansichtsseiten sehr einfach zu pflegen. Es gibt auch Intellisense-Unterstützung, die wirklich großartig ist. ALos, wenn es mit Web-Helfern verwendet wird, ist es auch wirklich mächtig.
Um ein einfaches Beispiel bereitzustellen:
Und da hast du es. Das ist sehr sauber und leicht zu lesen. Zugegeben, das ist ein einfaches Beispiel, aber selbst auf komplexen Seiten und Formularen ist es immer noch sehr leicht zu lesen und zu verstehen.
Was die Nachteile angeht? Nun, bis jetzt (ich bin neu in diesem Bereich) fehlt es bei der Verwendung einiger Helfer für Formulare an Unterstützung für das Hinzufügen einer CSS-Klassenreferenz, was etwas ärgerlich ist.
Danke Nathj07
quelle
Ich weiß, dass dies Ihre Frage nicht wirklich beantwortet, aber verschiedene View Engines haben unterschiedliche Zwecke. Die Spark View Engine zum Beispiel zielt darauf ab, Ihre Ansichten von "Tag Suppe" zu befreien, indem versucht wird, alles flüssig und lesbar zu machen.
Am besten schauen Sie sich nur einige Implementierungen an. Wenn es für die Absicht Ihrer Lösung attraktiv erscheint, probieren Sie es aus. Sie können View-Engines in MVC mischen und anpassen, sodass es kein Problem sein sollte, wenn Sie sich nicht für eine bestimmte Engine entscheiden.
quelle
Überprüfen Sie dieses SharpDOM . Dies ist ac # 4.0 interne dsl zum Generieren von HTML und auch asp.net mvc view engine.
quelle
Ich mag ndjango . Es ist sehr einfach zu bedienen und sehr flexibel. Sie können die Ansichtsfunktion einfach mit benutzerdefinierten Tags und Filtern erweitern. Ich denke, dass "stark an F # gebunden" eher ein Vorteil als ein Nachteil ist.
quelle
Ich denke, diese Liste sollte auch Beispiele für jede Ansichts-Engine enthalten, damit Benutzer einen Eindruck von jeder bekommen können, ohne jede Website besuchen zu müssen.
Bilder sagen mehr als tausend Worte und Markup-Beispiele sind wie Screenshots für View Engines :) Also hier ist einer von meiner Lieblings- Spark View Engine
quelle