Progressive Web Apps (PWA's) zijn een methode voor het bouwen van moderne, installeerbare applicaties met behulp van webtechnologie voor mobiele en desktopapparaten.
Een van de criteria voor het creëren van een moderne webervaring, en niet toevallig ook voor PWA's, is dat de app moet blijven werken, zelfs als het apparaat offline is. Dat betekent geen Chrome Dino-scherm als de gebruiker de netwerktoegang op zijn apparaat verliest!
Het doel van alle PWA-criteria is ervoor te zorgen dat gebruikers een hoogwaardige, app-concurrerende ervaring hebben tijdens het surfen op internet. Chrome voert controles uit op basis van PWA-criteria voordat de installatiemogelijkheid voor een PWA wordt ingeschakeld.
Alleen apps die voldoen aan alle basiscriteria voor installeerbaarheid van Progressive Web App , inclusief ondersteuning voor een offline modus, kunnen vanuit Chrome op het apparaat worden geïnstalleerd.
Vorige offline detectielogica
Verificatie van offline-ondersteuning maakt al jaren deel uit van de installeerbaarheidscriteria voor PWA's. Tot voor kort kon Chrome geen verzoeken simuleren via de service worker, waardoor een volledige controle op correct offline-gedrag niet mogelijk was.
Dat betekende dat Chrome niet kon valideren of de fetch
-gebeurtenishandler een geldige resource met HTTP 200 retourneerde tijdens de offline controle. Chrome controleerde alleen of de service worker daadwerkelijk een fetch
handler had.
Bijgewerkte offline detectielogica
Chrome 89 heeft de mogelijkheid toegevoegd om gesimuleerde offline verzoeken uit te voeren via de service worker. Hierdoor is de logica voor offline detectie verbeterd en wordt de daadwerkelijke offline ondersteuning van de applicatie beter weergegeven.
We waren van plan deze nieuwe mogelijkheid te gebruiken om ervoor te zorgen dat PWA's een geldige pagina zouden tonen wanneer ze offline waren, maar we hebben die plannen uitgesteld. De installeerbaarheidscontrole blijft succesvol als de pagina een service worker heeft met een fetch
event handler.
Wat betekent dit voor ontwikkelaars?
Hoewel er nu geen wijzigingen nodig zijn , raden we u ten zeerste aan een offline ervaring te bieden, omdat we verwachten in de toekomst de bijgewerkte logica te gebruiken om te controleren op een geldige pagina.
Het is aan jou om te bepalen wat voor soort offline ervaring je wilt bieden. Aan de ene kant staat een volledig functionele offline ervaring. Dit betekent dat alle benodigde resources en data vooraf worden gecached en dat de data met je server wordt gesynchroniseerd wanneer de gebruiker weer online is. Het cachen van resources helpt ook om de belangrijkste webstatistieken te verbeteren, omdat het niet meer nodig is om telkens resources van het netwerk te downloaden. Aan de andere kant van het spectrum staat een aangepaste offline fallbackpagina .
De waarschuwing die wordt weergegeven onder het tabblad Problemen van de ontwikkelaarstools, wordt vanaf Chrome 90 verwijderd.