Verbesserte Erkennung der Offlineunterstützung von progressiven Web-Apps

McLachlan
Penny McLachlan

Progressive Web Apps (PWAs) sind ein Muster zum Erstellen moderner, installierbarer Anwendungen mithilfe von Webtechnologie für Mobil- und Desktopgeräte.

Eines der Kriterien für eine moderne Weberfahrung (und keine PWAs) besteht darin, dass die App auch dann weiter funktionieren muss, wenn das Gerät offline ist. Das bedeutet, dass kein Chrome-Dino-Bildschirm angezeigt wird, wenn der Nutzer den Netzwerkzugriff auf seinem Gerät verliert.

Ziel aller Kriterien für PWAs ist es, Nutzern beim Surfen im Web eine qualitativ hochwertige und wettbewerbsfähige App-Erfahrung zu bieten. Chrome prüft, ob die PWA-Kriterien erfüllt sind, bevor die Installationsfunktion für eine PWA aktiviert wird.

Nur Apps, die alle grundlegenden Kriterien für die Installierbarkeit von progressiven Web-Apps erfüllen, einschließlich der Unterstützung für einen Offlinemodus, können über Chrome auf dem Gerät installiert werden.

Vorherige Offline-Erkennungslogik

Die Verifizierung des Offlinesupports gehört seit mehreren Jahren zu den Kriterien der PWA-Installationsbarkeit. Bis vor Kurzem war es in Chrome nicht möglich, Anfragen über den Service Worker zu simulieren, sodass eine vollständige Überprüfung des Offlineverhaltens nicht möglich war.

Diagramm des Service Workers

Das bedeutete, dass Chrome bei der Offlineprüfung nicht prüfen konnte, ob der Event-Handler fetch eine gültige Ressource mit HTTP 200 zurückgegeben hat. Chrome hat nur geprüft, ob der Service Worker tatsächlich einen fetch-Handler hatte.

Logik zur Offline-Erkennung wurde aktualisiert

In Chrome 89 wurde die Möglichkeit hinzugefügt, simulierte Offlineanfragen über den Service Worker auszuführen. Dies ermöglicht eine verbesserte Offlineerkennungslogik, um die tatsächliche Offlineunterstützung der Anwendung besser widerzuspiegeln.

Wir hatten diese neue Funktion geplant, um dafür zu sorgen, dass PWAs auch offline eine gültige Seite zur Verfügung stellen. Diese Pläne haben sich aber geändert. Die Prüfung der Installierbarkeit ist weiterhin gültig, wenn die Seite einen Service Worker mit einem fetch-Event-Handler hat.

Was bedeutet das für Entwickler?

Aktuell sind keine Änderungen erforderlich. Wir empfehlen Ihnen jedoch dringend, die Offlinenutzung bereitzustellen, da wir zukünftig die aktualisierte Logik verwenden werden, um zu einem späteren Zeitpunkt eine gültige Seite zu finden.

Sie entscheiden, welche Offline-Funktionen Sie bereitstellen möchten. An einem Ende des Spektrums stehen voll funktionsfähige Offline-Funktionen. Dies bedeutet, dass alle erforderlichen Ressourcen und Daten im Voraus im Cache gespeichert werden und die Daten mit Ihrem Server synchronisiert werden, wenn der Nutzer wieder online ist. Durch das Caching von Ressourcen werden auch die Core Web Vitals-Messwerte verbessert, da nicht jedes Mal Ressourcen aus dem Netzwerk heruntergeladen werden müssen. Am anderen Ende des Spektrums finden Sie eine benutzerdefinierte Offline-Fallback-Seite.

Die Warnung, die in den Entwicklertools auf dem Tab Probleme angezeigt wird, wird um Chrome 90 herum entfernt.