Verbetering van de detectie van offline ondersteuning voor Progressive Web App

Penny McLachlan
Penny McLachlan

Progressive Web Apps (PWA's) zijn een patroon voor het bouwen van moderne, installeerbare applicaties met behulp van webtechnologie voor mobiele apparaten en desktopapparaten.

Een van de criteria voor het bouwen van een moderne webervaring, en niet toevallig PWA’s, is dat de app moet blijven werken, zelfs als het apparaat offline is. Dat betekent dat er geen Chrome Dino-scherm is als de gebruiker de netwerktoegang op zijn apparaat verliest!

Het doel van alle PWA-criteria is ervoor te zorgen dat gebruikers een app-competitieve ervaring van hoge kwaliteit 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 kerncriteria voor de 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 PWA-installeerbaarheidscriteria. Tot voor kort had Chrome niet de mogelijkheid om verzoeken via de servicemedewerker te simuleren, waardoor een volledige controle op correct offline gedrag niet mogelijk was.

Diagram van servicemedewerker

Dat betekende dat Chrome niet de mogelijkheid had om te valideren of de fetch gebeurtenishandler tijdens de offline controle een geldige bron met HTTP 200 retourneerde. Chrome controleerde alleen of de servicemedewerker daadwerkelijk een fetch had.

Bijgewerkte offline detectielogica

Chrome 89 heeft de mogelijkheid toegevoegd om gesimuleerde offline verzoeken uit te voeren via de servicemedewerker, waardoor verbeterde offline detectielogica de daadwerkelijke offline ondersteuning van de applicatie beter weerspiegelt.

We waren van plan deze nieuwe mogelijkheid te gebruiken om ervoor te zorgen dat PWA's een geldige pagina zouden bieden wanneer ze offline waren, maar hebben die plannen opgeschort. De controle op de installeerbaarheid blijft slagen als de pagina een servicemedewerker heeft die een fetch bevat.

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 dat we de bijgewerkte logica op een bepaald moment in de toekomst zullen gebruiken om te controleren op een geldige pagina.

Het is aan jou om te beslissen wat voor soort offline ervaring je wilt bieden. Aan de ene kant van het spectrum bevindt zich een volledig functionele offline ervaring. Dit betekent dat u alle benodigde bronnen en gegevens vooraf in de cache plaatst en gegevens met uw server synchroniseert wanneer de gebruiker weer online is. Het cachen van bronnen zal ook helpen bij het verbeteren van essentiële webgegevens, omdat het de noodzaak elimineert om elke keer bronnen van het netwerk te downloaden. Aan de andere kant van het spectrum bevindt zich een aangepaste offline reservepagina .

De waarschuwing die wordt weergegeven op het tabblad Problemen van ontwikkelaarstools wordt rond Chrome 90 verwijderd.