Progresif Web Uygulaması çevrimdışı destek algılamasını iyileştirme

Penny McLachlan
Penny McLachlan

Progresif Web Uygulamaları (PWA), mobil ve masaüstü cihazlar için web teknolojisini kullanarak modern ve yüklenebilir uygulamalar oluşturmak amacıyla kullanılan bir kalıptır.

Modern bir web deneyimi oluşturmak için tesadüfen PWA'lar değil, modern bir web deneyimi oluşturma kriterlerinden biri, uygulamanın cihaz çevrimdışı olsa bile çalışmaya devam etmesidir. Yani, kullanıcı cihazındaki ağ erişimini kaybederse Chrome Dinozor ekranı gösterilmez!

Tüm PWA ölçütlerinin amacı, kullanıcıların web'de gezinirken yüksek kaliteli ve uygulamalarla rekabet eden bir deneyim yaşamasını sağlamaktır. Chrome, PWA için yükleme özelliğini etkinleştirmeden önce PWA ölçütlerini kontrol eder.

Çevrimdışı mod desteği de dahil olmak üzere yalnızca Progresif Web Uygulaması yüklenebilirlik ölçütlerinin tümünü karşılayan uygulamalar Chrome'dan cihaza yüklenebilir.

Önceki çevrimdışı algılama mantığı

Çevrimdışı desteğin doğrulanması, birkaç yıldır PWA yüklenebilirlik ölçütlerinin bir parçası olmuştur. Chrome kısa süre öncesine kadar Service Worker aracılığıyla istekleri simüle edemiyordu. Bu nedenle, doğru çevrimdışı davranışın tam olarak denetlenmesi mümkün değildi.

Hizmet çalışanı şeması

Bu durum Chrome'un, fetch etkinlik işleyicinin çevrimdışı kontrol sırasında HTTP 200 içeren geçerli bir kaynak döndürüp döndürmediğini doğrulayamadığı anlamına geliyordu. Chrome yalnızca hizmet çalışanının gerçekten bir fetch işleyicisinin olup olmadığını kontrol etti.

Çevrimdışı algılama mantığı güncellendi

Chrome 89, Service Worker aracılığıyla çevrimdışı istek simülasyonu çalıştırma özelliğini ekleyerek çevrimdışı algılama mantığının, uygulamanın gerçek çevrimdışı desteğini daha iyi yansıtmasını sağladı.

PWA'ların çevrimdışıyken geçerli bir sayfa sunmasını sağlamak için bu yeni özelliği kullanmayı planlıyorduk ancak bu planları beklemeye aldık. Sayfada fetch etkinlik işleyicisi içeren bir hizmet çalışanı varsa yüklenebilirlik kontrolü başarılı olmaya devam eder.

Bu durum geliştiriciler için ne anlama geliyor?

Şu anda herhangi bir değişiklik yapılması gerekmese de gelecekte bir noktada geçerli bir sayfayı kontrol etmek için güncellenmiş mantığı kullanmayı beklediğimiz için çevrimdışı deneyim sağlamanızı önemle tavsiye ederiz.

Ne tür bir çevrimdışı deneyim sunmak istediğinize siz karar verirsiniz. Yelpazenin bir ucunda ise tamamen işlevsel bir çevrimdışı deneyim var. Bu, gerekli tüm kaynakların ve verilerin önceden önbelleğe alınması ve kullanıcı tekrar çevrimiçi olduğunda verilerin sunucunuzla senkronize edilmesi anlamına gelir. Kaynakların önbelleğe alınması, her seferinde ağdan kaynak indirme ihtiyacını ortadan kaldırdığı için temel web sitesi metriklerinin iyileştirilmesine de yardımcı olur. Yelpazenin diğer ucunda ise özel çevrimdışı yedek sayfa bulunur.

Geliştirici araçlarının Sorunlar sekmesinde gösterilen uyarı Chrome 90 sürümünden sonra kaldırılacaktır.