ASP.NET MVC oder ASP.NET Web API + AngularJS [geschlossen]

8

Ich habe Erfahrung in den drei Technologien MVC, Web API und AngularJS.

Aber ich habe MVC + jQuery allein und Web API + AngularJS allein verwendet.

Ich fand einige Artikel zum Mischen von MVC + AngularJS, aber eigentlich habe ich nicht verstanden, warum ich müssen sie mischen?

Also meine Frage jetzt: - Was die Vor- und Nachteile des Mischens von "MVC + AngularJS" gegenüber "Web API + AngularJS"

Bearbeiten: Wie man das Beste aus allen Welten durch Mischen von MVC + Angular bekommt? Oder mit Web API + Angular Ich werde nichts vermissen (was ist der Fall)? Oder was würde ich von MVC vermissen, wenn ich mich für Web API + Angular allein entscheiden würde, besonders wenn ich SPA anpeile?

    
Sameh Deabes 07.05.2015, 09:43
quelle

3 Antworten

12

Der Hauptvorteil der Verwendung von MVC + Angular über Web API + Angular besteht darin, dass Ihr Server das HTML-Markup in einer Ansicht direkt manipulieren kann, bevor es an den Client gesendet wird. Im Falle der Web-API erzeugt der Server nur ein serialisiertes json-Modell, und die Ansicht ist vollständig von Angular betroffen.

Ein weiterer Grund, den MVC-Ansatz zu bevorzugen, wäre, wenn Sie nicht den gesamten Bereich der Angular-Funktionen nutzen möchten. Beispielsweise könnten Sie MVC für das Routing anstelle des Providers Angular Route verwenden.

Ein Nachteil des MVC + Angular-Ansatzes ist, dass Ihr HTML-Markup gemischten Winkel- und Rasierklingen-Code enthält. Dies wird es wahrscheinlich weniger lesbar machen und jede Person, die daran arbeitet, muss in der Lage sein, mit beiden Sprachen zu arbeiten.

Auch wenn Sie nur eine kleine Teilmenge von eckig verwenden, könnte dies ein guter Hinweis darauf sein, dass Sie stattdessen ein einfacheres JavaScript-Framework hätten verwenden können. Wenn Sie beispielsweise nur Modellbindung verwenden, können Sie Knockout verwenden.

Schließlich sollten Sie MVC und Web API zusammen mit Angular verwenden, um das Beste aus beiden Welten zu erhalten. Sie könnten zum Beispiel MVC-Ansichten für SEO-bezogene Markups verwenden und Web-API zum Freigeben Ihres Modells verwenden.

    
elolos 07.05.2015 09:49
quelle
0

Sie könnten in der Tat nur für WebAPI + AngularJS gehen. Wenn Sie von Grund auf neu aufbauen, brauchen Sie MVC nicht. Sie können einfach eine statische index.html bereitstellen, die Ihre AngularJS-Anwendung startet und von dort startet.

Ich habe solche Projekte in der Vergangenheit gemacht, aber auch Projekte gemacht, bei denen wir uns entschieden haben, eine MVC-App mit AngularJS und WebAPi zu haben. Damit haben wir mehrere SPA's in der Webapp erstellt. Ich glaube, ich habe den Begriff "Pocket of SPA" irgendwo in .NET Rocks gehört!

Wenn Sie also statische Daten anzeigen müssen, werfen Sie einfach etwas in MVC zusammen. Wenn es eine Seite gibt, die viel Benutzerinteraktion verwendet, dann serviere sie mit einer einfachen Controller + -Ansicht und verknüpfe das gesamte Verhalten über AngularJS und WebApi. Kurz gesagt: Sie können den Ansatz "Best of both worlds" verwenden, bei dem Sie schnell statische Daten mit MVC anzeigen und AngularJS nutzen können, wenn Sie eine sehr interaktive Seite haben.

    
Jochen van Wylick 07.05.2015 09:53
quelle
0

Ich bin nicht sicher, ob Fragen wie diese richtig beantwortet werden, denn die am häufigsten verwendeten Technologien sind an bestimmte Geschäftsanforderungen gebunden.

Wenn Sie eine Back-Office-Webanwendung entwickeln, die nur für registrierte Benutzer (oder eine kleine Gruppe von Personen) zugänglich ist, erhöht die Verwendung von WebAPI + Angular die allgemeine Benutzerfreundlichkeit in Bezug auf Geschwindigkeit, Leistung und Reaktionsfähigkeit.

Wenn Sie eine Website entwickeln, die hauptsächlich für "Gastnutzer" gedacht ist, SEO braucht, indiziert werden muss, komplexe Usability-Anforderungen hat usw., sollten Sie die ganzen coolen Sachen mit Single-Page-Application vergessen die meisten WebAPI + Angular-Apps) und wechseln Sie zu Tools, mit denen Sie spezifische Anforderungen erfüllen können.

Ich denke nicht, dass Sie Unterschiede zwischen MVC + Angular vs WebAPI + Angular berücksichtigen sollten - die Frage ist, Angular neben MVC + jQuery App zu verwenden. Wenn Sie eine Menge Logik in Ihren Ansichten haben (natürlich keine Geschäftslogik) und keine Daten an eine ganze Reihe von jQuery-Objekten binden wollen, benötigen Sie Angular und erleichtern Ihnen das Leben. Der eckige Kern hat keine Routing-Funktionalität, daher ist es ein bisschen dumm, zu sagen, dass er nur mit SPA / SPI-Anwendungen verwendet werden kann.

Für die meisten meiner Projekte verwende ich jQuery, um DOM und Angular zu manipulieren, um Daten zu manipulieren.

    
Kamo 07.05.2015 11:40
quelle