Verbesserte Erkennung der Offlineunterstützung von progressiven Web-Apps

Penny McLachlan
Penny McLachlan

Progressive Web-Apps (PWAs) sind ein Muster für die Entwicklung moderner, installierbarer Anwendungen mit Webtechnologie für Mobilgeräte und Computer.

Eines der Kriterien für eine moderne Weboberfläche und damit auch für PWAs ist, dass die App auch dann funktionieren muss, wenn das Gerät offline ist. Das bedeutet, dass der Chrome-Dino-Bildschirm nicht angezeigt wird, wenn der Nutzer auf seinem Gerät den Netzwerkzugriff verliert.

Ziel aller PWA-Kriterien ist es, Nutzern beim Surfen im Web eine hochwertige, app-ähnliche Erfahrung zu bieten. Chrome führt Prüfungen anhand der PWA-Kriterien durch, bevor die Installation einer PWA ermöglicht wird.

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

Bisherige Offline-Erkennungslogik

Die Überprüfung der Offlineunterstützung ist seit mehreren Jahren Teil der Kriterien für die Installierbarkeit von PWAs. Bis vor Kurzem war es in Chrome nicht möglich, Anfragen über den Service Worker zu simulieren. Daher war keine vollständige Überprüfung des korrekten Offlineverhaltens möglich.

Diagramm des Service Workers

Das bedeutet, dass Chrome nicht prüfen konnte, ob der fetch-Event-Handler während der Offlineprüfung 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.

Aktualisierte Offline-Erkennungslogik

In Chrome 89 wurde die Möglichkeit hinzugefügt, simulierte Offlineanfragen über den Service Worker auszuführen. So kann die Logik zur Offlinedetektion verbessert werden, um die tatsächliche Offlineunterstützung der Anwendung besser widerzuspiegeln.

Wir hatten geplant, diese neue Funktion zu nutzen, um sicherzustellen, dass PWAs im Offlinemodus eine gültige Seite bereitstellen, haben diese Pläne aber auf Eis gelegt. Die Prüfung der Installierbarkeit wird weiterhin bestanden, wenn die Seite einen Service Worker mit einem fetch-Event-Handler hat.

Was bedeutet das für Entwickler?

Derzeit sind keine Änderungen erforderlich. Wir empfehlen Ihnen jedoch dringend, eine Offline-Funktion bereitzustellen, da wir die aktualisierte Logik voraussichtlich in Zukunft verwenden werden, um zu prüfen, ob eine gültige Seite vorhanden ist.

Sie entscheiden, welche Art von Offline-Erlebnis Sie anbieten möchten. Am einen Ende des Spektrums steht eine voll funktionsfähige Offline-Nutzung. Das bedeutet, dass alle erforderlichen Ressourcen und Daten vorab im Cache gespeichert und Daten mit Ihrem Server synchronisiert werden, wenn der Nutzer wieder online ist. Das Zwischenspeichern von Ressourcen trägt auch dazu bei, die Core Web Vitals-Messwerte zu verbessern, da Ressourcen nicht jedes Mal aus dem Netzwerk heruntergeladen werden müssen. Am anderen Ende des Spektrums steht eine benutzerdefinierte Offline-Fallbackseite.

Die Warnung, die auf dem Tab Probleme der Entwicklertools angezeigt wird, wird mit Chrome 90 entfernt.