Udoskonalenie wykrywania obsługi progresywnych aplikacji internetowych w trybie offline

Penny McLachlan
Penny McLachlan

Progresywne aplikacje internetowe (PWA) to wzór tworzenia nowoczesnych, instalowanych aplikacji za pomocą technologii internetowych na urządzenia mobilne i komputery.

Jednym z kryteriów tworzenia nowoczesnych aplikacji internetowych, w tym PWA, jest to, że aplikacja musi działać nawet wtedy, gdy urządzenie jest offline. Oznacza to, że jeśli użytkownik utraci dostęp do sieci na urządzeniu, nie będzie wyświetlany ekran Dinozaura z Chrome.

Celem wszystkich kryteriów dotyczących aplikacji internetowych jest zapewnienie użytkownikom wysokiej jakości i wygody podczas przeglądania stron internetowych. Zanim umożliwi instalację PWA, Chrome sprawdza, czy spełnia ona kryteria PWA.

Z Chrome można zainstalować na urządzeniu tylko aplikacje, które spełniają wszystkie podstawowe kryteria instalowalności progresywnych aplikacji internetowych, w tym obsługę trybu offline.

Poprzednia logika wykrywania offline

Weryfikacja obsługi offline jest od kilku lat częścią kryteriów możliwości zainstalowania aplikacji PWA. Do niedawna Chrome nie miał możliwości symulowania żądań za pomocą skryptu service worker, więc nie można było w pełni sprawdzić prawidłowego działania w trybie offline.

Schemat skryptu service worker

Oznacza to, że Chrome nie może sprawdzić, czy podczas sprawdzania offline w obiekcie fetch obsługa zdarzeń zwraca prawidłowy zasób z kodem HTTP 200. Chrome sprawdzała tylko, czy skrypt service worker ma podany element fetch.

Zaktualizowano logikę wykrywania offline

W Chrome 89 dodano możliwość uruchamiania symulowanych żądań offline za pomocą service workera, co pozwala na lepsze dostosowanie logiki wykrywania trybu offline do rzeczywistego wsparcia aplikacji w trybie offline.

Planowaliśmy użyć tej nowej funkcji, aby zapewnić, że PWA będą wyświetlać prawidłową stronę w trybie offline, ale wstrzymaliśmy te plany. Sprawdzanie możliwości zainstalowania będzie nadal pozytywne, jeśli strona zawiera usługę workera, która zawiera moduł obsługi zdarzeń fetch.

Co to oznacza dla deweloperów?

Chociaż obecnie nie trzeba wprowadzać żadnych zmian, zdecydowanie zalecamy udostępnienie wersji offline, ponieważ w przyszłości zamierzamy używać zaktualizowanej logiki do sprawdzania prawidłowej strony.

To od Ciebie zależy, jakie funkcje offline chcesz udostępniać. Na jednym końcu spektrum znajduje się tryb offline, który działa w pełni. Oznacza to wstępne zapisanie w pamięci podręcznej wszystkich potrzebnych zasobów i danych oraz zsynchronizowanie danych z serwerem, gdy użytkownik ponownie połączy się z internetem. Buforowanie zasobów pomoże też poprawić podstawowe wskaźniki internetowe, ponieważ eliminuje konieczność pobierania zasobów z sieci za każdym razem. Na drugim końcu spektrum znajduje się niestandardowa strona zastępcza offline.

Ostrzeżenie wyświetlane na karcie Problemy w narzędziach dla deweloperów zostanie usunięte w Chrome 90.