Amélioration de la détection du fonctionnement hors connexion des progressive web apps

Penny McLachlan
Penny McLachlan

Les progressive web apps (PWA) constituent un modèle en développant des applications modernes et installables à l'aide de la technologie Web pour sur les ordinateurs.

L'un des critères pour créer une expérience Web moderne, et non par coïncidence des PWA, est que l'application doit continuer à fonctionner même si l'appareil est hors connexion. Cela signifie qu'aucun écran Chrome Dino ne s'affiche si l'utilisateur perd son réseau. sur leur appareil.

L'objectif de tous les critères des PWA est de veiller à ce que les utilisateurs bénéficient d'une d'une expérience de qualité et concurrentielle lorsque vous naviguez sur le Web. Chrome effectue vérifie que les applications sont conformes aux critères des PWA avant d'activer l'installation. pour une PWA.

Uniquement les applications qui répondent à tous les besoins Critères d'installabilité des progressive web apps, y compris la compatibilité pour un mode hors connexion, peuvent être installées sur l'appareil à partir de Chrome.

Ancienne logique de détection hors connexion

La vérification de la compatibilité hors connexion a été prise en compte dans l'installation des PWA depuis plusieurs années. Jusqu'à récemment, Chrome n'utilisait pas de simuler des requêtes via le service worker, ce qui implique une vérification complète il n'était pas possible de se comporter correctement hors connexion.

Schéma d'un service worker

Chrome n'était donc pas en mesure de valider si le fetch Le gestionnaire d'événements a renvoyé une ressource valide avec le code HTTP 200 lors du test hors connexion. Chrome a seulement vérifié si le service worker disposait réellement d'un gestionnaire fetch.

Mise à jour de la logique de détection hors connexion

Chrome 89 permet d'exécuter des requêtes hors connexion simulées via le un service worker, qui améliore la logique de détection hors connexion pour mieux refléter hors connexion réelle de l'application.

Nous avions prévu d'utiliser cette nouvelle fonctionnalité pour nous assurer que les PWA fournissent lorsque vous êtes hors connexion, mais que vous avez mis ces plans en attente. Le contrôle de l’installabilité continue de s'afficher si la page comporte un service worker incluant un élément Gestionnaire d'événements fetch.

Quel impact pour les développeurs ?

Bien qu'aucune modification ne soit requise pour le moment, nous vous recommandons vivement de fournir une expérience hors connexion, car nous prévoyons d'utiliser la logique mise à jour pour rechercher une à un moment donné.

C'est à vous de décider du type d'expérience hors connexion que vous souhaitez offrir. D'un côté, l'expérience hors connexion est totalement fonctionnelle. Cela signifie la mise en cache préalable de toutes les ressources et données nécessaires, et la synchronisation des données lorsque l'utilisateur se reconnectera. La mise en cache des ressources permet également d'améliorer métriques Core Web Vitals, car il n'est plus nécessaire de télécharger les ressources du réseau à chaque fois. À l'autre bout du spectre se trouve page de remplacement hors connexion personnalisée.

L'avertissement affiché sous le bouton L'onglet Problèmes des outils pour les développeurs sera supprimé vers Chrome 90.