Auf vielen statischen Websites würde die Gesamtgröße des tatsächlichen Textinhalts der beliebtesten 20 Seiten unter 100 KB liegen.
Ich würde mir vorstellen, dass es möglich wäre, den lokalen HTML5-Speicher zu nutzen, um Inhalte über AJAX vom Server in einer einzigen Datei herunterzuladen, im lokalen Speicher zu speichern und mit einem datengesteuerten JS-Framework wie angleJS zu verwenden. Tatsächlich könnten Sie stillschweigend noch mehr Inhalte im Hintergrund herunterladen. Dies könnte möglicherweise zu einer sehr schnellen und reaktionsschnellen Benutzererfahrung führen.
Trotzdem habe ich keine Websites gesehen, die auf diese Weise funktionieren. Gibt es einen Grund, den ich vermisse, der dies zu einer schlechten Idee machen würde?
javascript
angularjs
local-storage
Matthew Dolman
quelle
quelle
Antworten:
Ich denke, die kurze Antwort auf Ihre Frage ist, dass der Grund dafür, dass nicht viel passiert, wie Sie es beschreiben, darin besteht, dass der lokale HTML5-Speicher in keiner Weise der Aufgabe gewachsen ist und wir bis in die letzten zwei Jahre oder so nichts hatten angegeben werden, die eine bessere Lösung bieten würde.
Über den lokalen HTML5-Speicher speziell: Es gibt eine Race-Bedingung und einige andere Probleme, die verhindern, dass er für die Verwendung in der Produktion für Anwendungen geeignet ist, bei denen sichergestellt werden soll, dass keine Daten beschädigt werden, und bei denen mehr als nur Zeichenfolgen gespeichert werden sollen .
Diese Probleme im lokalen Speicher könnten möglicherweise behoben werden, aber die Realität ist, dass keiner der Browser-Engine-Anbieter derzeit Interesse daran hat, weitere Ressourcen in ihre lokalen Speicherimplementierungen zu stecken. Sie alle möchten lieber, dass Webentwickler Alternativen zum lokalen Speicher verwenden.
Wie auch immer, für den von Ihnen beschriebenen Anwendungsfall sind glücklicherweise tatsächlich robustere Lösungen in Arbeit. Das Schlüsselelement für die Zukunft wird Service Worker sein - und im Kontext dieser Frage speziell die Schnittstellen Service Worker Cache und CacheStorage .
Auch IndexedDB ist die Produktion-grade Lösung , dass die Web - Laufzeit hat jetzt für den allgemeinen Fall von robuster Speicherung von Daten auf dem Client, mit effizienten Implementierungen und mit mehr funktions gefüllt Kontrolle über die Art der gespeicherten Daten und wie sie gespeichert wird .
quelle
"local storage is in no way up to the task"
- JA, es ist bereit für die Aufgabe. Sie können dort jede Antwort vom Server ausgeben, und für einfache Anwendungen werden Sie das5MB
Limit nicht überschreiten. Es war nicht dafür gedacht, kann aber dennoch sehr erfolgreich zum Zwischenspeichern von Serverantworten verwendet werden.