Miglioramento del rilevamento del supporto offline delle app web progressive

Penny McLachlan
Penny McLachlan

Le app web progressive (PWA) sono un modello per creare applicazioni moderne e installabili utilizzando la tecnologia web per dispositivi mobili e desktop.

Uno dei criteri per creare un'esperienza web moderna, e non a caso le PWA, è che l'app deve continuare a funzionare anche se il dispositivo è offline. Ciò significa che non verrà visualizzata la schermata del gioco di Chrome Dino se l'utente perde l'accesso alla rete sul proprio dispositivo.

Lo scopo di tutti i criteri PWA è quello di garantire agli utenti un'esperienza di alta qualità e competitiva con le app durante la navigazione sul web. Chrome esegue controlli in base ai criteri PWA prima di abilitare la funzionalità di installazione per una PWA.

Solo le app che soddisfano tutti i criteri di base di installabilità delle app web progressive, incluso il supporto per una modalità offline, possono essere installate sul dispositivo da Chrome.

Logica di rilevamento offline precedente

La verifica del supporto offline fa parte dei criteri di installabilità delle PWA da diversi anni. Fino a poco tempo fa, Chrome non era in grado di simulare le richieste tramite il service worker, pertanto non era possibile eseguire un controllo completo del corretto comportamento offline.

Diagramma del service worker

Ciò significava che Chrome non era in grado di verificare se il gestore eventi fetch restituisse una risorsa valida con HTTP 200 durante il controllo offline. Chrome ha controllato solo se il service worker avesse effettivamente un gestore fetch.

Aggiornamento della logica di rilevamento offline

Chrome 89 ha aggiunto la possibilità di eseguire richieste offline simulate tramite il service worker, consentendo una logica di rilevamento offline migliorata per riflettere meglio il supporto offline effettivo dell'applicazione.

Avevamo pianificato di utilizzare questa nuova funzionalità per garantire che le PWA fornissero una pagina valida quando non erano connesse a internet, ma abbiamo messo in pausa questi piani. Il controllo dell'installabilità continuerà a essere superato se la pagina ha un service worker che include un gestore di eventi fetch.

Cosa significa per gli sviluppatori?

Anche se al momento non sono necessarie modifiche, ti consigliamo vivamente di fornire un'esperienza offline, in quanto prevediamo di utilizzare la logica aggiornata per verificare la presenza di una pagina valida in futuro.

Spetta a te decidere che tipo di esperienza offline vuoi offrire. A un'estremità dello spettro c'è un'esperienza offline completamente funzionale. Ciò significa pre-memorizzare nella cache tutte le risorse e i dati necessari e sincronizzare i dati con il tuo server quando l'utente torna online. La memorizzazione nella cache delle risorse contribuirà anche a migliorare le metriche Core Web Vitals perché elimina la necessità di scaricare le risorse dalla rete ogni volta. All'altro estremo dello spettro c'è una pagina di riserva offline personalizzata.

L'avviso visualizzato nella scheda Problemi degli strumenti per sviluppatori verrà rimosso intorno a Chrome 90.