Miglioramento del rilevamento del supporto offline delle app web progressive

Penny McLachlan
Penny McLachlan

Le app web progressive (PWA) sono un modello per la creazione di applicazioni moderne e installabili che utilizzano la tecnologia web per dispositivi mobili e desktop.

Uno dei criteri per la creazione di un'esperienza web moderna, e non a volte per le PWA, è che l'app deve continuare a funzionare anche se il dispositivo è offline. Ciò significa che non è presente alcuna schermata Dino di Chrome se l'utente perde l'accesso alla rete sul proprio dispositivo.

L'obiettivo di tutti i criteri delle PWA è contribuire a garantire agli utenti un'esperienza di alta qualità e competitiva per le app durante la navigazione sul web. Chrome esegue dei 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 installabilità delle app web progressive fondamentali, compreso il supporto per una modalità offline, possono essere installate sul dispositivo da Chrome.

Logica di rilevamento offline precedente

La verifica dell'assistenza offline fa parte dei criteri di installabilità delle PWA da diversi anni. Fino a poco tempo fa, Chrome non era in grado di simulare richieste tramite il service worker, per cui non era possibile verificare il corretto comportamento offline.

Diagramma del service worker

Ciò significa che Chrome non ha potuto verificare se il gestore di eventi fetch restituisse una risorsa valida con HTTP 200 durante il controllo offline. Chrome ha verificato soltanto se il service worker aveva effettivamente un gestore fetch.

Logica di rilevamento offline aggiornata

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

Avevamo programmato di utilizzare questa nuova funzionalità per garantire che le PWA fornissero una pagina valida quando erano offline, ma abbiamo mantenuto questi piani. Il controllo dell'installabilità continuerà se la pagina ha un service worker che include un gestore di eventi fetch.

Cosa cambia per gli sviluppatori?

Anche se al momento non è necessario apportare 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.

Sta a te decidere che tipo di esperienza offline vuoi offrire. Da un lato c'è un'esperienza offline completamente funzionale. Ciò significa memorizzare preventivamente nella cache tutte le risorse e i dati necessari e sincronizzare i dati con il server quando l'utente è di nuovo online. La memorizzazione nella cache delle risorse contribuirà inoltre a migliorare le metriche fondamentali del Web, in quanto elimina la necessità di scaricare ogni volta le risorse dalla rete. All'altra estremità dello spettro c'è una pagina di riserva offline personalizzata.

L'avviso mostrato nella scheda Problemi degli strumenti per sviluppatori verrà rimosso intorno alla versione 90 di Chrome.