Meningkatkan deteksi dukungan offline Progressive Web App

Penny McLachlan
Penny McLachlan

Progressive Web App (PWA) adalah pola untuk mem-build aplikasi modern yang dapat diinstal menggunakan teknologi web untuk perangkat seluler dan desktop.

Salah satu kriteria untuk membangun pengalaman web modern, dan bukan PWA secara kebetulan, adalah aplikasi harus terus berfungsi meskipun perangkat offline. Artinya, tidak ada layar Chrome Dino jika pengguna kehilangan akses jaringan di perangkat mereka.

Tujuan dari semua kriteria PWA adalah membantu memastikan pengguna memiliki pengalaman yang kompetitif aplikasi dan berkualitas tinggi saat menjelajahi web. Chrome melakukan pemeriksaan terhadap kriteria PWA sebelum mengaktifkan kemampuan penginstalan untuk PWA.

Hanya aplikasi yang memenuhi semua kriteria penginstalan Progressive Web App inti, termasuk dukungan untuk mode offline, yang dapat diinstal ke perangkat dari Chrome.

Logika deteksi offline sebelumnya

Verifikasi dukungan offline telah menjadi bagian dari kriteria kemampuan penginstalan PWA selama beberapa tahun. Hingga baru-baru ini, Chrome tidak memiliki kemampuan untuk menyimulasikan permintaan melalui pekerja layanan, sehingga pemeriksaan lengkap perilaku offline yang benar tidak dapat dilakukan.

Diagram pekerja layanan

Artinya, Chrome tidak memiliki kemampuan untuk memvalidasi apakah pengendali peristiwa fetch menampilkan resource yang valid dengan HTTP 200 selama pemeriksaan offline. Chrome hanya memeriksa apakah pekerja layanan benar-benar memiliki pengendali fetch.

Logika deteksi offline diperbarui

Chrome 89 menambahkan kemampuan untuk menjalankan permintaan offline yang disimulasikan melalui pekerja layanan, sehingga logika deteksi offline dapat ditingkatkan untuk lebih mencerminkan dukungan offline aplikasi yang sebenarnya.

Kami telah berencana menggunakan kemampuan baru ini untuk memastikan bahwa PWA menyediakan halaman yang valid saat offline, tetapi telah mempertahankan paket tersebut. Pemeriksaan kemampuan penginstalan akan terus berjalan jika halaman memiliki pekerja layanan yang menyertakan pengendali peristiwa fetch.

Apa pengaruhnya bagi developer?

Meskipun saat ini tidak ada perubahan yang diperlukan, sebaiknya Anda memberikan pengalaman offline karena kami akan menggunakan logika yang diperbarui untuk memeriksa halaman yang valid di masa mendatang.

Andalah yang menentukan jenis pengalaman offline yang ingin diberikan. Di salah satu ujung spektrum adalah pengalaman offline yang berfungsi penuh. Ini berarti menyimpan semua resource dan data yang diperlukan ke dalam cache, dan menyinkronkan data dengan server saat pengguna kembali online. Menyimpan resource ke dalam cache juga akan membantu meningkatkan metrik penting web inti karena dengan cara ini, Anda tidak perlu mendownload resource dari jaringan setiap saat. Di ujung lain spektrum adalah halaman penggantian offline kustom.

Peringatan yang ditampilkan pada tab Masalah pada alat developer akan dihapus pada Chrome 90.