Frage

Ich habe einige Erfahrungen auf Build-Anwendung mit Asp.Net, aber jetzt MVC-Frameworks wird immer beliebter. Ich mag den Bau neue mehrsprachigen Web-Anwendung versuchen, mit mit Asp.Net MVC oder Schloss Monorail, aber ich weiß nicht, was für mich gut ist. Ich mag es nicht die Ansicht Motor Webformular, aber ich mag Routing-Funktion in Asp.Net MVC.

  • Könnte jemand sagt über Vor- und Nachteile zwischen denen?
  • Welche Viewengine ist das besser als auch für das Überschreiben des Master-Template?
War es hilfreich?

Lösung

als Anwalt der Einschienen Sprechen, ich muss sagen wahrscheinlich für ASP.NET MVC gehen Sie sollten. Um ehrlich zu sein, ist die einfache Tatsache, dass ASP.NET MVC die Standard-Architektur innerhalb von drei Jahren werden, wird sollte es wahrscheinlich schwingen. Diese Gleichung war anders vor einem Jahr, nur weil die Standard-Architektur ernsthafte Produktivitätsprobleme im Vergleich zu Monorail hatte.

Wenn Sie technische Vorteile und Nachteile sprechen:

  • ASP.NET AJAX ist ein Chaos (vermeiden), aber sie haben jetzt jQuery. In der Tat ist die jQuery Unterstützung besser als jede andere Umgebung. Natürlich können Sie nur dann voll, dass mit den Standard-Ansicht-Engine mit IDE-Integration erhalten.
  • Es gibt einige ästhetische Verbesserungen (zum Beispiel Informationen, die die Art und Weise Modell herumgereicht wird, ist viel sauberer und deutlicher als Einschienenbahn).

Auch nicht entlassen, den Standard-Ansicht-Engine aus der Hand. Sie müssen nicht Kontrollen an ihm werfen, wie Sie mit ASP.NET haben, können Sie es in einer ziemlich ähnlichen Weise zu Brail codieren können, nur C # statt Boo verwendet wird.

Es gibt Dinge, die einfach nur hässlich sind  * Die Anzahl der Verfahren, der Gegenstand für einen Parameter nehmen. Viel Glück zu finden, in der Dokumentation auf, was genau sie erwarten.  * Microsoft Vorliebe für abstrakte Klassen über Schnittstellen. Sie haben ihre Gründe, aber ich mag nicht es noch.

Auch in vielerlei Hinsicht bleibt die Monorail vollständigere Plattform. Es gibt keine Abstraktion für die Validierung oder Paging in ASP.NET, zum Beispiel. Außerdem gibt es wirklich keine Hilfe für ein Modell zu binden. Die Helfer haben sehr wenig Funktionalität im Vergleich zu ihren Einschienen Äquivalente.

Insgesamt aber ich denke, ASP.NET MVC ist ein Gewinner.

Andere Tipps

Monorail- und ASP.NET MVC sind grundsätzlich sehr ähnlich sind, sollten Sie sich gut aus sein mit entweder einer von ihnen. Monorail hat viel länger existiert und hat daher höhere Level-Funktionen.

Die Hauptstärke von ASP.NET MVC ist es Leitwegbäumen Motor, um fair zu sein Monorail so ziemlich ein äquivalentes Routing-Engine hat, und mit einigen Änderungen können Sie das ASP.NET MVC Routing-Engine mit Monorail verwenden, da das Routing-Engine nicht ist wirklich in ASP.NET MVC, aber in System.Web.Routing (Veröffentlicht .NET 3.5 SP1 in). ASP.NET MVC und Integration mit Visual Studio ist auch ein Plus, und wird wahrscheinlich besser als wir RTM von v1 nähern.

Das MvcContrib Projekt enthält einige großartige Aussicht Motoren, wie Spark, NHaml und Brail. Niemand könnte in Betracht gezogen werden „Best“, ein persönlicher Favorit ist Spark. Weitere Informationen über die Funken: http://dev.dejardin.org/documentation/syntax

Der WebForms Motor intellisense hat was ein großer Vorteil ist, dass mein Wissen all alternative Ansicht Motoren fehlen.

Neben wahrgenommen Popularität und Unterstützung von Microsoft ASP.NET MVC fehlt noch einige Kernfunktionen, die Einschienenbahn für eine lange Zeit wie Controller Organisation (Areas) hat, einheimisches ViewComponents und Filter, die IoC verwenden können, um die wichtigsten zu nennen .

Ich habe einige große Anwendungen, die alle diese Funktionen nutzen, und ich habe eine harte Zeit hatte, sie zu ASP.NET MVC zu portieren.

Ich habe nun schon seit einigen Jahren mit Einschienen gearbeitet und während MVC sieht vielversprechend aus, und es ist Flexibilität ist genial, ich kann es immer noch, dass sich herausstellt, zu tun, für jede andere Sache, die ich akward finden versuchen, es nicht da ist und ich muss entweder stecken Sie ein kleines Stück MvcContrib, ein anderes Stück SharpArchitecture, bauen es selbst, erhalten Sie das Bild. Einschienenbahn ist so viel einfacher, mit zu arbeiten (im Augenblick, das ist).

Ich erwarte, dass die Dinge in den nächsten paar Monaten besser als einige Lösungsvorschläge beginnen, gegen andere zu erheben und mehr zum Mainstream geworden. Hey, die Vielfalt der Optionen ist gut, aber glauben Sie mir, Sie wollen nicht vor in Java-Land 3 Jahre sein, wo es so viele Web-Frameworks waren, dass Sie Ihre Website bauen könnte man für jede andere Seite mit!

In der Zwischenzeit halte ich langsam meine MR-Anwendungen zu MVC Portierung, für alle Fälle.

  1. Ich denke, MVC gewinnt die Hände nach unten. Sein Feature-Set ist sehr ähnlich, aber wird das mehr „populär“ der beiden (und somit in der Regel besser unterstützt, dokumentiert und in der gesamten Entwicklungsgemeinschaft erweitert) werden. Darüber hinaus Faktor der neuen Viewengine (Razor) .. und IDE Verbesserungen für mich, und steigern den Wert der MVC über Einschienenbahn Wahl, meiner Meinung nach.

  2. Ich habe so ziemlich alle gängigen ViewEngines verwendet, aber meine eigene Liquidation rollen ( ein Open Source-Projekt für sie erstellt) das ehrfürchtige String Template-Engine verwendet. ST ist eine echte Trennung von Bedenken, IMO. Ich finde mich besser apps als Ergebnis, mit viel weniger Tag Suppe zu schreiben. Ich warf auch einen kurze Einführung und Nachschlagewerk wenn Sie wählen die Reifen auf den Motor zu treten. Ich habe an Projekten genial Glück habe ich so weit es mit bereitgestellt habe. Davon abgesehen, Razor (MVC 3) sieht ziemlich beeindruckend.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top