Les progressive web apps (PWA) sont un modèle permettant de créer des applications modernes et installables à l'aide de la technologie Web pour les appareils mobiles et les ordinateurs.
L'un des critères de création d'une expérience Web moderne, et pas par hasard les 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 l'accès au réseau sur son appareil.
L'objectif de tous les critères de PWA est de garantir aux utilisateurs une expérience de haute qualité, comparable à celle d'une application, lorsqu'ils naviguent sur le Web. Chrome vérifie les critères de PWA avant d'activer la fonctionnalité d'installation d'une PWA.
Seules les applications qui répondent à tous les critères d'installabilité des applications Web progressives de base, y compris la prise en charge d'un mode hors connexion, peuvent être installées sur l'appareil à partir de Chrome.
Logique de détection hors connexion précédente
La vérification de la compatibilité hors connexion fait partie des critères d'installabilité des PWA depuis plusieurs années. Jusqu'à récemment, Chrome n'était pas en mesure de simuler les requêtes via le service worker. Il n'était donc pas possible de vérifier complètement le comportement hors connexion correct.
Cela signifie que Chrome ne pouvait pas vérifier si le gestionnaire d'événements fetch
renvoyait une ressource valide avec HTTP 200 lors de la vérification hors connexion.
Chrome ne vérifiait que si le service worker disposait réellement d'un gestionnaire fetch
.
Mise à jour de la logique de détection hors connexion
Chrome 89 a ajouté la possibilité d'exécuter des requêtes hors connexion simulées via le service worker, ce qui permet d'améliorer la logique de détection hors connexion pour mieux refléter la prise en charge hors connexion réelle de l'application.
Nous avions prévu d'utiliser cette nouvelle fonctionnalité pour nous assurer que les PWA fournissaient une page valide en mode hors connexion, mais nous avons mis ces plans en attente. La vérification de l'installabilité continuera de réussir si la page comporte un service worker qui inclut un gestionnaire d'événements fetch
.
Qu'est-ce que cela signifie pour les développeurs ?
Bien que aucune modification ne soit requise pour le moment, nous vous recommandons vivement de proposer une expérience hors connexion, car nous prévoyons d'utiliser la logique mise à jour pour vérifier la validité d'une page à un moment donné.
C'est à vous de décider du type d'expérience hors connexion que vous souhaitez proposer. À un extrême, vous avez une expérience hors connexion entièrement fonctionnelle. Cela signifie pré-cacher toutes les ressources et données nécessaires, et synchroniser les données avec votre serveur lorsque l'utilisateur est de nouveau en ligne. La mise en cache des ressources permet également d'améliorer les métriques Core Web Vitals, car elle évite de télécharger des ressources à partir du réseau à chaque fois. À l'autre bout du spectre, vous pouvez utiliser une page de remplacement hors connexion personnalisée.
L'avertissement affiché dans l'onglet Problèmes des outils pour les développeurs sera supprimé vers Chrome 90.