Spring GDS 25. Jubiläum
Ein Logistikunternehmen, das in 190 Länder versendet, hat etwas gebaut, um an sich selbst zu liefern.
Ein Service Worker ist ein Skript, das der Browser im Hintergrund ausführt, getrennt von der Webseite, und das als programmierbarer Proxy zwischen Seite und Netzwerk wirkt. Weil er an dieser Stelle sitzt, kann er Netzwerkanfragen abfangen und entscheiden, wie er sie beantwortet: aus dem Netzwerk, aus einem von ihm kontrollierten Cache oder aus einer Mischung von beidem. Er läuft sogar, wenn die Seite geschlossen ist, und genau das macht Hintergrundverhalten im Web überhaupt möglich.
Er ist der Motor hinter Progressive Web Apps. Ein Service Worker lässt eine Web-App ohne Verbindung weiterlaufen, indem er zwischengespeicherte Seiten und Assets ausliefert, wenn das Netz weg ist. Er treibt Push-Benachrichtigungen an, lässt die App Daten im Hintergrund synchronisieren, sobald eine Verbindung zurückkehrt, und gibt dem Entwickler feine Kontrolle über Caching-Strategien. Eine Nachrichten-PWA etwa kann mit einem Service Worker die neuesten Artikel cachen, damit ein Pendler weiterlesen kann, wenn der Zug in einen Tunnel taucht.
Er kommt mit strengen Regeln. Service Worker laufen aus Sicherheitsgründen nur über HTTPS und haben einen festen Lebenszyklus aus Install, Activate und Fetch, den Sie richtig handhaben müssen, sonst liefern Sie Nutzern veralteten Inhalt aus. Caching ist mächtig und leicht falsch zu machen. Gut gemacht, fühlt sich die Seite augenblicklich an und übersteht eine abgebrochene Verbindung. Nachlässig gemacht, bekommen Nutzer alte Assets und fragen sich, warum nichts aktualisiert.
Wir bauen mit Service Workern, wenn ein Projekt wirklich braucht, was sie bieten: Offline-Nutzung, augenblickliche Wiederholungsladevorgänge oder Push. Ein Kunde, dessen Außendienst an Orten mit lückenhaftem Signal arbeitete, brauchte ein Tool, das unabhängig davon weiterfunktioniert. Wir bauten einen Service Worker, der die App-Shell und die Daten cachte, auf die diese Nutzer angewiesen waren, sodass die Erfahrung hielt, wenn die Verbindung es nicht tat, und sich sauber synchronisierte, sobald sie zurückkam.
Die Caching-Strategie ist der Punkt, an dem Service-Worker-Arbeit gewonnen oder verloren wird, also behandeln wir den Lebenszyklus und die Cache-Regeln als etwas zum Entwerfen, nicht zum Anflanschen. In unserer Webentwicklung und der Entwicklung von Progressive Web Apps heißt das, bewusst zu entscheiden, was gecacht wird, wann es aufgefrischt wird und wie Updates den Nutzer erreichen, damit niemand vor einem veralteten Bildschirm sitzt. Verlässliches Offline-Verhalten, und keine Überraschungen, wenn neuer Inhalt erscheint.
Brauchen Sie eine Web-App, die funktioniert, wenn die Verbindung es nicht tut? Bauen wir sie offline-fest.
Ein Logistikunternehmen, das in 190 Länder versendet, hat etwas gebaut, um an sich selbst zu liefern.
Eine Marke in ein funktionierendes Geschäft verwandeln.
Eine halbe Million Menschen. Eine App. Null Chaos.















