© AlexanderZe/Shutterstock.com
Teil 2: Anwendungsdaten offline halten mit IndexedDB

Boost für den Service Worker


Wer seine Anwendung offline nutzen will, muss hierfür verschiedene Arten von Daten offline speichern. Neben den statischen Dateien, die zum Ausführen der Anwendung notwendig sind, gibt es auch noch die Daten der Anwendung, die offline vorgehalten werden müssen. Im ersten Teil dieser Artikelserie über Service Worker [1] habe ich gezeigt, wie man seine Anwendung offline zur Verfügung stellen kann. Schwerpunkt dieses Artikels soll nun sein, welche Möglichkeiten zur Verfügung stehen, um auch seine Daten offline zu halten.

Mit dem Cache-API [2] bietet der Service Worker die Möglichkeit, statische Daten bzw. Antworten auf Anfragen an das Netzwerk zu speichern und weitere Anfragen an das Netzwerk mit diesen Einträgen aus dem Cache zu beantworten. Allerdings ist dies nur in bestimmten Fällen sinnvoll, da sich die Daten auf dem Server ständig verändern. Somit wird für dynamische Daten eine alternative Lösung für den Offlinezugriff benötigt. Hierfür bietet der Browser verschiedene Möglichkeiten wie z. B. SessionStorage, LocalStorage oder IndexedDB. Wie das Cache-API genutzt werden kann, kann im vorherigen Artikel nachgelesen werden.

LocalStorage: der einfache Key-Value-Speicher

Der LocalStorage [3] ist die einfachste Art, um Daten einer Anwendung über die Sitzung des Benutzers – auch Session genannt – hinaus zu speichern. Er ist ein synchroner Speicher, in dem immer ein Schlüssel mit einem dazugehörigen Inhalt gespeichert wird. Die Größe des LocalStorages variiert je nach Browser, ist jedoch in der Regel nur wenige MB groß. Der LocalStorage ist Session-übergreifend aktiv, was bedeutet, dass auch nach Schließen des Browsers die Daten noch vorhanden sind. Er ist vor allem für Daten sinnvoll, die nur auf dem Client gespeichert werden sollen und nicht an den Server übertragen werden müssen. Dies kann z. B. genutzt werden, um Einstellungen zu speichern, die nur auf dem spezifischen Gerät relevant sind.

Um Daten im LocalStorage zu speichern, genügt es, die gewünschten Daten mitte...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang