Meningkatkan deteksi dukungan offline Progressive Web App

Penny McLachlan
Penny McLachlan

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

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

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

Hanya aplikasi yang memenuhi semua kriteria kelayakan 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 saat 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 fetch event handler menampilkan resource yang valid dengan HTTP 200 selama pemeriksaan offline. Chrome hanya memeriksa apakah pekerja layanan benar-benar memiliki handler fetch.

Memperbarui logika deteksi offline

Chrome 89 menambahkan kemampuan untuk menjalankan permintaan offline simulasi melalui pekerja layanan, sehingga memungkinkan logika deteksi offline yang ditingkatkan mencerminkan dukungan offline sebenarnya dari aplikasi dengan lebih baik.

Kami berencana menggunakan kemampuan baru ini untuk memastikan bahwa PWA menyediakan halaman yang valid saat offline, tetapi rencana tersebut ditunda. Pemeriksaan kemampuan penginstalan akan terus lulus jika halaman memiliki pekerja layanan yang menyertakan handler peristiwa fetch.

Apa pengaruhnya terhadap developer?

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

Anda yang memutuskan jenis pengalaman offline yang ingin Anda berikan. Di satu sisi spektrum terdapat pengalaman offline yang berfungsi penuh. Artinya, semua resource dan data yang diperlukan akan di-cache sebelumnya, dan data akan disinkronkan dengan server Anda saat pengguna kembali online. Mencadangkan resource juga akan membantu meningkatkan metrik penting web karena menghilangkan kebutuhan untuk mendownload resource dari jaringan setiap saat. Di ujung lain spektrum adalah halaman penggantian offline kustom.

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