1

Ich bin ein wenig verwirrt, warum das Laravel-Framework mit Vue.js ausgeliefert wird.Warum wird Laravel mit Vue geliefert? (SPA vs MVC)

Mein Verständnis ist, dass Laravel ein traditionelles MVC-Framework ist, während Vue für ein SPA verwendet werden würde; Das sind verschiedene Anwendungsarchitekturen, wie können sie also zusammen verwendet werden?

Ich versuche gerade herauszufinden, ob meine App besser zu den traditionellen vs SPA-Stilen der Entwicklung passt, und das ist etwas, das ich kämpfe, um meinen Kopf herumzukommen.

Antwort

4

Die Verwendung eines SPA mit einem MVC ist ein gängiger Ansatz, da es die vollständige serverseitige Logik in der App und eine reaktionsfähige, anwendungsähnliche Benutzeroberfläche am Frontend ermöglicht. Dies umfasst häufig die Verwendung des MVC-Stacks zum Verwalten der Datenbank und zum Generieren von JSON-Antworten, während die gesamte Benutzeroberfläche im SPA belassen wird.

+1

Danke für die Antwort! Ich dachte, das könnte der Fall sein. Als Erweiterung zu meiner Frage, wenn wir nur Laravel verwenden, um die Datenbank zu verwalten und JSON zu generieren, sollten wir nicht etwas Leichteres wie Lumen verwenden? Laravel scheint sehr schwer für etwas, das nur eine API erstellen würde. –

+0

Das ist schwieriger zu beantworten, ohne etwas über dein Team und deine Erfahrung zu wissen und was du für die ganze App brauchst. Wenn Sie glauben, dass eine leichtere Herangehensweise gerechtfertigt ist, dann macht das Sinn, wenn Sie sich in Laravel wohler fühlen, dann wird es wahrscheinlich in Ordnung sein. Zu viel für einen Kommentar Thread obwohl lol –

+1

Das ist eine faire Antwort. Ich denke, ich muss nur experimentieren :) –

3

MVC und SPA sind nicht entgegengesetzt. Eine einseitige Anwendung muss einen API-Endpunkt verwenden, der (und normalerweise) in MVC geschrieben werden kann. Beachten Sie, dass eine "Ansicht" nicht notwendigerweise ein HTML-Dokument ist, sondern alles, was die von der Anwendung gehandhabten Daten darstellt JSON.

+0

Das ist ein sehr guter Punkt! Ich habe nie darüber nachgedacht, dass JSON tatsächlich die Ansichtsebene ist und nicht das gesamte HTML-Dokument –

4

Im Allgemeinen wird Vue nicht nur für SPA verwendet. Eine MVC-Architektur beruht auf einer engen Kommunikation zwischen Client und Server. Wenn Sie neue Daten benötigen oder Daten ändern müssen, müssen Sie in einer MVC-Architektur grundsätzlich die gesamte HTML-Seite neu laden, um den neuen aktualisierten Inhalt zu erhalten.

Um die Dinge interaktiver und benutzerfreundlicher zu gestalten, bevorzugen einige Leute, initiale Inhalte zu liefern, indem sie die MVC-Architektur verwenden, die Ihnen im Grunde die HTML-Seite mit einigen Daten rendert. Danach wird eine Javascript-Bibliothek verwendet, um zu verhindern, dass die Seite jedes Mal neu geladen wird, wenn Sie etwas ändern möchten.

Verwandte Themen