Udoskonalenie wykrywania obsługi progresywnych aplikacji internetowych w trybie offline

Penny McLachlan
Penny McLachlan

Progresywne aplikacje internetowe (PWA) to wzorzec tworzenia nowoczesnych, możliwych do zainstalowania aplikacji za pomocą technologii internetowych na urządzenia mobilne i komputery.

Jednym z kryteriów tworzenia nowoczesnych stron internetowych (a nie przypadkowych aplikacji PWA) jest to, że aplikacja musi działać, nawet jeśli urządzenie jest offline. Oznacza to, że jeśli użytkownik utraci dostęp do sieci na swoim urządzeniu, ekran z dinozaurem w Chrome nie będzie widoczny.

Wszystkie kryteria PWA mają pomóc użytkownikom zapewnić użytkownikom wysoką jakość i konkurencyjność aplikacji podczas przeglądania internetu. Przed włączeniem możliwości instalacji PWA Chrome sprawdza kryteria PWA.

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

Poprzednia logika wykrywania offline

Weryfikacja obsługi offline od kilku lat jest jednym z kryteriów możliwości zainstalowania PWA. Do niedawna Chrome nie umożliwiał symulowania żądań przy użyciu skryptu service worker, dlatego pełne sprawdzenie właściwego działania w trybie offline nie było możliwe.

Schemat skryptu service worker

Oznaczało to, że przeglądarka Chrome nie była w stanie sprawdzić, czy podczas sprawdzania w trybie offline moduł obsługi zdarzeń fetch zwrócił prawidłowy zasób z HTTP 200. Przeglądarka Chrome sprawdzała tylko, czy skrypt service worker rzeczywiście miał moduł obsługi fetch.

Zaktualizowano mechanizmy wykrywania offline

W Chrome 89 dodano możliwość uruchamiania symulowanych żądań offline za pomocą skryptu service worker, co pozwoliło na ulepszenie logiki wykrywania offline, która lepiej odzwierciedla faktyczną obsługę offline aplikacji.

Planowaliśmy skorzystać z tej nowej funkcji, aby aplikacje PWA wyświetlały prawidłową stronę w trybie offline, ale wstrzymywali te plany. Kontrola możliwości zainstalowania będzie kontynuowana, jeśli strona zawiera skrypt service worker zawierający moduł obsługi zdarzeń fetch.

Co to oznacza dla deweloperów?

Nie musisz teraz wprowadzać żadnych zmian, ale zdecydowanie zalecamy korzystanie z trybu offline, ponieważ planujemy użyć zaktualizowanej logiki, aby w przyszłości sprawdzić, czy strona jest prawidłowa.

To Ty decydujesz, jakiego rodzaju treści offline chcesz udostępniać. Po pierwsze, w pełni funkcjonalne korzystanie z gier w trybie offline. Oznacza to wstępne zapisywanie wszystkich potrzebnych zasobów i danych w pamięci podręcznej, a także synchronizowanie danych z serwerem, gdy użytkownik znów jest online. Przechowywanie zasobów w pamięci podręcznej pomoże też w ulepszaniu podstawowych wskaźników internetowych, ponieważ eliminuje konieczność pobierania zasobów z sieci za każdym razem. Na drugim końcu spektrum jest niestandardowa strona zastępcza offline.

Ostrzeżenie widoczne na karcie Problemy w narzędziach dla programistów zostanie usunięte około Chrome 90.