Progressive Web-Apps (PWAs) sind ein Muster für die Entwicklung moderner, installierbarer Anwendungen mit Webtechnologie für Mobil- und Computergeräte.
Eines der Kriterien für die Entwicklung einer modernen Weboberfläche, und nicht zufällig auch für PWAs, ist, dass die App auch dann 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.
Das Ziel aller PWA-Kriterien besteht darin, Nutzern beim Surfen im Web eine qualitativ hochwertige, konkurrenzfähige App-Umgebung zu bieten. Chrome führt PWA-Kriterien aus, bevor die Installationsfunktion für eine PWA aktiviert wird.
Nur Apps, die alle grundlegenden Kriterien für die Installation von progressiven Web-Apps erfüllen, einschließlich der Unterstützung eines Offlinemodus, können über Chrome auf dem Gerät installiert werden.
Vorherige Logik zur Offlineerkennung
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 eine vollständige Prüfung des korrekten Offlineverhaltens nicht möglich.
Das bedeutete, dass Chrome nicht prüfen konnte, ob der fetch
-Ereignishandler 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 hat.
Die Logik für die Offlineerkennung wurde aktualisiert.
In Chrome 89 wurde die Möglichkeit hinzugefügt, simulierte Offlineanfragen über den Dienst-Worker auszuführen. So kann die Logik zur Offlineerkennung verbessert werden, um die tatsächliche Offlineunterstützung der Anwendung besser widerzuspiegeln.
Wir hatten geplant, diese neue Funktion zu nutzen, um dafür zu sorgen, dass PWAs auch im Offlinemodus eine gültige Seite anzeigen. Diese Pläne haben wir jedoch auf Eis gelegt. Die Installationsüberprüfung ist weiterhin erfolgreich, wenn die Seite einen Service Worker mit einem fetch
-Ereignis-Handler enthält.
Was bedeutet das für Entwickler?
Derzeit sind keine Änderungen erforderlich. Wir empfehlen Ihnen jedoch dringend, eine Offlineversion bereitzustellen, da wir die aktualisierte Logik voraussichtlich in Zukunft verwenden werden, um nach einer gültigen Seite zu suchen.
Sie entscheiden, welche Art von Offlinezugriff Sie anbieten möchten. Am einen Ende des Spektrums steht eine voll funktionsfähige Offlineversion. Das bedeutet, dass alle erforderlichen Ressourcen und Daten vorab im Cache gespeichert und die Daten mit Ihrem Server synchronisiert werden, sobald der Nutzer wieder online ist. Das Caching 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-Fallback-Seite.
Die Warnung, die in den Entwicklertools auf dem Tab Probleme angezeigt wird, wird etwa mit Chrome 90 entfernt.