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 perangkat desktop.

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

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

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

Logika deteksi offline sebelumnya

Verifikasi dukungan offline telah menjadi bagian dari kemampuan penginstalan PWA kriteria ini selama beberapa tahun. Hingga saat ini, Chrome tidak memiliki kemampuan untuk menyimulasikan permintaan melalui pekerja layanan, jadi pemeriksaan penuh perilaku offline yang benar tidak mungkin dilakukan.

Diagram pekerja layanan

Artinya, Chrome tidak memiliki kemampuan untuk memvalidasi apakah fetch pengendali peristiwa 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 simulasi permintaan offline melalui pekerja layanan, sehingga memungkinkan logika deteksi offline yang lebih baik dukungan offline nyata untuk aplikasi.

Kami telah berencana menggunakan kemampuan baru ini untuk memastikan bahwa PWA memberikan halaman saat offline, tetapi telah menunda paket tersebut. Pemeriksaan kemampuan penginstalan akan terus diteruskan jika halaman memiliki pekerja layanan yang menyertakan Pengendali peristiwa fetch.

Apa pengaruhnya bagi developer?

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

Andalah yang menentukan jenis pengalaman offline yang ingin diberikan. Di salah satu sisi spektrum ada pengalaman offline yang berfungsi penuh. Artinya pra-cache semua sumber daya dan data yang dibutuhkan, dan menyinkronkan data dengan server ketika pengguna kembali online. Menyimpan sumber daya ke dalam cache juga akan membantu meningkatkan metrik vital web inti karena dapat menghilangkan keharusan mendownload setiap saat dari jaringan. Di ujung lain spektrum ini adalah halaman penggantian offline kustom.

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