Mischen von Angular und ASP.NET MVC / Web API?
Ich komme mit ASP.NET MVC/Web API und jetzt bin ich angefangen zu verwenden Eckig, aber ich bin nicht klar auf dem richtigen Weg, Sie zu mischen.
Einmal bin ich mit dem Winkel hat das MVC-sever-side-Konzepte noch irgendeinen Wert ? Oder sollte ich streng sein mit Web-API rein zu bekommen Daten für den angular HTTP-Aufrufe ?
Irgendwelche Tipps haben Sie für einen ASP.NET MVC Kerl übergang zu Kantig wäre hilfreich
InformationsquelleAutor der Frage user2256870 | 2014-01-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Reine Web-API
Früher war ich ziemlich " hardcore mit ASP.NET MVC da ich aber getroffen habe, Winkel-ich sehe nicht ein Grund, warum ich verwenden würde alle server-side content-generation-framework. Pure Eckig/REST(WebApi) gibt ein reicheres und saubereres Ergebnis. Es ist viel schneller und ermöglicht das erstellen websites, die sehr nahe kommen, um desktop-Anwendungen, ohne funky hacks.
Winkel hat eine kleine Lernkurve, aber sobald du dein team gemeistert hat, Sie bauen viel bessere websites in weniger Zeit. Vor allem dies hat mit der Tatsache zu tun, dass Sie nicht alle diesen Zustand(weniger) Probleme mehr.
Beispielsweise vorstellen, eine Assistenten form mit jedem traditionellen server-side framework. Jede Seite muss überprüft werden und getrennt eingereicht. Vielleicht den Inhalt der Seite ist abhängig von Werten aus einer der vorherigen Seite. Vielleicht ist der Benutzer drückt die zurück-Taste und erneuten Einreichung eines früheren form. Wo speichern wir den Zustand des Klienten? All diese Komplikationen nicht existieren, wenn mit Winkel-und REST.
Also ... komm rüber auf die dunkle Seite ... wir haben Kekse.
Ähnliche Frage
InformationsquelleAutor der Antwort null
AngularJS ist mehr verbunden mit der single page application Paradigma, und als solche, die nicht profitieren viel von server-side Technologien, die render-markup. Es gibt keinen technischen Grund, dass verhindert, dass Sie mit Ihnen zusammen, aber in einem praktischen Sinn, warum sollte man?
Einem SPA ruft die Vermögenswerte, die es braucht (JS -, CSS-und HTML-Ansichten) und läuft auf seine eigene, die Kommunikation wieder zu Diensten zu senden oder abrufen von Daten. Also, eine server-side-Technologie, die ist immer noch notwendig für die Bereitstellung dieser Dienstleistungen (wie auch andere Mittel wie etwa die Authentifizierung und die mag), aber das rendering Teile sind weitgehend irrelevant und nicht besonders nützlich, weil es ist eine Doppelarbeit, außer MVC tut es auf der server-Seite und Winkel tut es auf dem client. Wenn Sie Eckig sind, wollen Sie auf dem client für die besten Ergebnisse. Sie können Winkel-post-HTML-Formulare und abrufen von partiellen views vom MVC-Aktionen, aber Sie würde nicht auf die beste und einfachste Eigenschaften von Winkel-und machen Ihr Leben schwerer.
MVC ist ziemlich flexibel, und Sie können es verwenden, um service-Aufrufe von einer SPA-Anwendung. Jedoch, WebAPI ist mehr fein abgestimmt und ein bisschen einfacher zu verwenden, für solche Dienstleistungen.
Ich habe geschrieben, eine Reihe von AngularJS-Anwendungen, darunter ein paar, die Migration von bereits bestehenden WebForms und MVC-Anwendungen, und die ASP.NET Aspekt entwickelt sich in Richtung einer Plattform für die Bereitstellung der AngularJS-app, die als der eigentliche AUFTRAGGEBER, und für das hosting der Anwendung-Schicht der client kommuniziert via REST (mit WebAPI). MVC ist ein feiner Rahmen, aber es findet in der Regel selbst, ohne einen job in diesen Arten von Anwendungen.
Den ASP.NET Anwendung wird eine weitere Ebene der Infrastruktur, wo sich Ihre Verantwortung darauf beschränkt:
Eine weitere tolle Sache über ein SPA ist, kann es zu einer Erhöhung der Bandbreite Ihres Teams. Eine Gruppe kann blast die Dienste während der andere legt in der client-app. Da kann man leicht stub-oder mock-REST-services, könnten Sie eine voll funktionsfähige client-app auf mock-services und swap-out für die echten, wenn Sie fertig sind.
Müssen Sie investieren, bis vorn auf den Winkel, aber es zahlt sich aus groß. Da sind Sie bereits vertraut mit MVC, haben Sie eine Bein-up auf einige der zentralen Konzepte.
InformationsquelleAutor der Antwort HackedByChinese
Kommt es auf das Projekt an dem Sie arbeiten.
Wenn angularJS ist etwas neues für Sie, ich würde lieber wählen Sie eine kleine low-risk - /Druck-Projekt, begonnen zu erhalten und sicherzustellen, dass Sie lernen, wie man die Dinge in der richtigen Art und Weise (ich habe gesehen, viele Projekte mit Angularjs falsch, weil der Druck, Fristen... Mangel an Zeit, zu lernen, es in geeigneter Weise, z.B. mit Hilfe von JQuery oder accesing den DOM im inneren des controllers, etc...).
Wenn das Projekt ist ein grünes Feld, und Sie haben einige Erfahrung auf AngularJS, macht es Sinn, aufzugeben ASP.net MVC und in der server-Seite gehen rein, REST (WebAPI.
Wenn es ein bestehendes Projekt, können Sie abholen eine komplexe Teilmenge der Funktionalität und bauen Sie diese Seite als eine separate angularJS-app (z.B. die app besteht aus einer großen Reihe von standard-einfache /mittlere Komplexität Razor-basierten Seiten, aber Sie müssen und erweiterter editor /page, das könnte das Ziel sein Stück zu erstellen mit AngularJS).
InformationsquelleAutor der Antwort Braulio
Können Sie Winkel-framework für front-end-Entwicklung ich.e zu konstruieren Aussicht. Es bietet Ihnen eine robuste Architektur und wenn Sie lernen, Sie werden finden, dass es die Vorteile gegenüber der Asp.net MVC razor view engine. Zum abrufen von Daten verwenden Sie die WebAPIs und jetzt ASP.Net MVC-Projekt unterstützen sowohl die WebAPI und MVC-Controller out of the box. Sie können sich über den link unten starten mit Winkel-und ASP.Net MVC-Anwendung Entwicklung.
http://hive.rinoy.in/angular4-and-asp-net-mvc-hybrid-application/
Gibt es zwei Rahmenbedingungen, die derzeit für die Entwicklung von UI-Komponenten für Winkel-Anwendungen. Benutzt habe ich diese beiden frameworks in einem der Winkel-Projekte, an denen ich arbeitete.
Material
https://material.angular.io/
PrimeNG
https://www.primefaces.org/primeng/#/
InformationsquelleAutor der Antwort rinoy