AngularJS: Einzelseite und mehrseitige App Unterschied und Verwendung in der Praxis?

8

Ich habe den Unterschied zwischen Single-Page-Apps und Multi-Page-Apps untersucht, und ich denke, dass ich gut sehe, wie sie sich unterscheiden. Die Einzelseiten-App beginnt mit dem Laden einer einzelnen HTML-Seite und aktualisiert die Seite dann nie wieder vollständig oder überschreibt das Original, sofern die Anwendung nicht anderweitig aktualisiert wird (Browseraktualisierung usw.). Beispiel: Das angularJS-Seedprojekt: angular-seed hat eine index.html-Datei. Diese Datei ist die einzelne Seite, die der Server an das Frontend sendet, und danach werden alle anderen (möglichen) Seiten asynchron unter Verwendung von AJAX gesendet. Also, wenn Sie App nur mit dem angularjs Seed erstellen, wird es immer nur eine SPA-Anwendung sein, habe ich recht?

Wie würden Sie in der Praxis dann eine mehrseitige Anwendung mit angularjs erstellen? Brauchst du dann nicht mehrere angularJS-Anwendungen? Müssten Sie für jede dieser angularJS-Anwendungen ein separates Routing haben? Und warum sollte man eine mehrseitige Anwendung für angularJS machen wollen? Denn man könnte das erste index.html immer nur als eine Shell ohne echten Inhalt verwenden und dann separate Containerseiten für verschiedene Seiten haben. Könnte man sagen, dass die angleJS multipage App eine Anwendung wäre, die nur viele SPA angularJS Anwendungen enthalten würde? Können Sie im SPA die Zurück-Taste des Browsers verwenden, um zur letzten Ansicht zurückzukehren?

    
Ville Miekk-oja 15.04.2015, 09:13
quelle

1 Antwort

1

Ja, Sie haben die Idee von SPA und MPA richtig.

Angular.js ermöglicht es Ihnen, SPAs zu erstellen, zwingt Sie jedoch nicht. In einem MPA würde ich nicht von mehreren Angular-Anwendungen sprechen, da Sie Angular.js-Module einfach über mehrere HTML-Seiten verteilt hätten. Die Seitenfluss- oder Routing-Logik wäre dann in Angular.js-Controllern, in einfachen Hyperlinks oder im Backend auf dem Server.

Es könnte Gründe geben, nicht eine ganze Anwendung unter Angular.js zu platzieren. Möglicherweise wird der Authentifizierungsteil einer Webanwendung aus bestimmten Gründen separat gespeichert ...

In SPAs können Sie definitiv die Zurück-Taste des Browsers verwenden. Du musst das nur irgendwie implementieren. Twitter löst dieses Problem, indem es den Status seiner Webanwendung in die URL codiert - wenn Sie Twitter verwenden, haben Sie vielleicht die Symbole (#!) In der Adressleiste bemerkt.

    
Oliver Schmidt 15.04.2015, 09:44
quelle