2016-09-26 4 views
0

So habe ich begonnen, eine einzelne Seite Webanwendung mit AngularJS zu entwickeln. Um Ihnen eine Vorstellung von der Größe dieser Anwendung zu geben, wird sie ungefähr 20-30 APIs und 100 Endpunkte haben. Der größte Vorteil dieses Ansatzes besteht darin, dass die komplette App zu Beginn heruntergeladen wird und später auf ein Back-End zugegriffen wird, um Daten auf verschiedenen Bildschirmen (ähnlich einer mobilen App) zu füllen. Während die Gesamterfahrung sehr gut ist, frage ich mich, ob dies der richtige Ansatz für eine Website dieser Größenordnung ist. Meine Hauptanliegen sind:AngularJS Single Page Anwendungsarchitektur

  • Wird dieser Ansatz die anfängliche Ladezeit drastisch erhöhen, da alle Vorlagen, Javascript und CSS am Anfang heruntergeladen werden?
  • Was passiert, wenn ich eine Vorlage oder ein JavaScript auf dem Server aktualisiere und die Benutzer weiterhin die heruntergeladene App verwenden, die nicht mit dem Back-End kompatibel ist? Sollte ich eine Client-Version hinzufügen und diese immer mit der Server-Version vergleichen, genau wie für mobile Apps, um zu prüfen, ob ein Update erforderlich ist? In diesem Fall wird eine einfache Aktualisierung die App aktualisieren, aber ich muss wissen, wann ich die App aktualisieren soll.

Ich würde sehr schätzen, wenn Leute mit SPA-Erfahrung ihr Feedback zu den oben genannten Punkten geben können. Danke im Voraus!

+1

Leider ist dies nicht eine gute Passform für Stackoverflow, weil es Meinung basiert. In SO sollten Posts eine einzelne Frage enthalten, und sie sollte Code enthalten, den Sie ausprobiert haben, aber nicht arbeiten konnte. Mein Feedback: Wenn Sie eine schnellere Antwort benötigen, brechen Sie Ihre App in separate URLs auf, die schnell geladen werden –

Antwort

1

Ich habe die gleiche Situation. Für Ihre erste Sorge verwende ich ocLazyLoad.

Ich lade die grundlegenden Dateien am Anfang, aber nur die Dateien laden, die ich wirklich brauche, wenn der Benutzer benötigt.

Mit einer Lazy Load, ich denke, ich löse die zweite Sorge, weil ocLazyLoad die Datei neu laden kann. Setzen Sie die Cache-Eigenschaft auf false.

How to reload resources (HTML/CSS/JS) on version change

Verwandte Themen