Miglioramento del rilevamento del supporto offline delle app web progressive

Penny McLachlan
Penny McLachlan

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

Uno dei criteri per creare un'esperienza web moderna, e non per caso le PWA, è che l'app debba continuare a funzionare anche se il dispositivo è offline. Ciò significa che non verrà visualizzata la schermata di 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 rispetto alle app quando navigano sul web. Chrome esegue verifiche in base ai criteri PWA prima di attivare la funzionalità di installazione per una PWA.

Solo le app che soddisfano tutti i criteri di installabilità delle app web progressive di base, incluso il supporto di 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 aveva la possibilità di simulare le richieste tramite il service worker, pertanto non era possibile eseguire un controllo completo del comportamento offline corretto.

Diagramma del service worker

Ciò significa che Chrome non era in grado di verificare se il gestore eventi fetch ha restituito una risorsa valida con HTTP 200 durante il controllo offline. Chrome ha controllato solo 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 servizio worker, consentendo alla logica di rilevamento offline migliorata di 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 erano offline, ma abbiamo sospeso questi piani. Il controllo di installabilità continuerà a superare se la pagina ha un worker di servizio che include un gestore di eventi fetch.

Che 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.

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

L'avviso visualizzato nella scheda Problemi degli Strumenti per sviluppatori verrà rimosso in Chrome 90 circa.