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 membuat pengalaman web modern, dan bukan PWA, adalah aplikasi harus terus berfungsi meskipun perangkat offline. Artinya, tidak ada layar Dino Chrome jika pengguna kehilangan akses jaringan di perangkat mereka.

Tujuan semua kriteria PWA adalah untuk membantu memastikan pengguna memiliki pengalaman berkualitas tinggi dan kompetitif 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 penuh 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.

Memperbarui logika deteksi offline

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

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

Apa artinya bagi developer?

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

Anda dapat memutuskan jenis pengalaman offline yang ingin diberikan. Di satu ujung spektrum adalah pengalaman offline yang berfungsi sepenuhnya. Artinya, cache akan menyimpan semua resource dan data yang diperlukan terlebih dahulu, serta menyinkronkan data dengan server Anda saat pengguna kembali online. Menyimpan resource dalam cache juga akan membantu meningkatkan metrik data web inti karena tidak perlu mendownload resource dari jaringan setiap saat. Di ujung spektrum lainnya adalah halaman penggantian offline kustom.

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