Udoskonalenie wykrywania obsługi progresywnych aplikacji internetowych w trybie offline

Penny McLachlan
Penny McLachlan

Progresywne aplikacje internetowe (PWA) to wzorzec tworzenia nowoczesnych aplikacji, które można zainstalować na urządzeniach mobilnych i komputerach, z wykorzystaniem technologii internetowych.

Jednym z kryteriów tworzenia nowoczesnych aplikacji internetowych, a także progresywnych aplikacji internetowych, 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 zobaczy ekranu z dinozaurem w Chrome.

Celem wszystkich kryteriów PWA jest zapewnienie użytkownikom wysokiej jakości przeglądania internetu, która będzie porównywalna z korzystaniem z aplikacji. Zanim Chrome włączy możliwość instalowania PWA, sprawdza, czy spełnia ona kryteria PWA.

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

Poprzednia logika wykrywania offline

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

Diagram skryptu service worker

Oznaczało to, że Chrome nie mógł sprawdzić, czy fetchprocedura obsługi zdarzeń zwracała prawidłowy zasób z kodem HTTP 200 podczas sprawdzania offline. Chrome sprawdzało tylko, czy skrypt service worker ma procedurę obsługi fetch.

Zaktualizowana logika wykrywania offline

W Chrome 89 dodaliśmy możliwość uruchamiania symulowanych żądań offline za pomocą service workera, co pozwala ulepszonej logice wykrywania trybu offline lepiej odzwierciedlać rzeczywiste wsparcie aplikacji w trybie offline.

Planowaliśmy wykorzystać tę nową funkcję, aby zapewnić, że progresywne aplikacje internetowe będą wyświetlać prawidłową stronę w trybie offline, ale wstrzymaliśmy te plany. Sprawdzanie możliwości instalacji będzie nadal przebiegać pomyślnie, jeśli strona ma moduł service worker, który zawiera moduł obsługi zdarzeń fetch.

Co to oznacza dla deweloperów?

Obecnie nie musisz wprowadzać żadnych zmian, ale zalecamy zapewnienie możliwości korzystania z aplikacji w trybie offline, ponieważ w przyszłości planujemy używać zaktualizowanej logiki do sprawdzania, czy strona jest prawidłowa.

Od Ciebie zależy, jakiego rodzaju wrażenia offline chcesz zapewnić. Na jednym końcu spektrum znajduje się w pełni funkcjonalna wersja offline. Oznacza to wstępne buforowanie wszystkich potrzebnych zasobów i danych oraz synchronizowanie danych z serwerem, gdy użytkownik ponownie będzie online. 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 offline.

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