Z nowoczesnej sieci korzysta szerokie grono osób, które używają różnych urządzeń i typów połączeń sieciowych. Twoje dzieła mogą docierać do użytkowników na całym świecie, ale zapewnienie niezawodnego działania w internecie dla wszystkich użytkowników może być trudne. Już samo zrozumienie, co oznacza niezawodność, może być wyzwaniem.
Niezawodność w trybie offline
Jednym ze sposobów myślenia o niezawodności jest to, czy aplikacja internetowa będzie działać bez połączenia z siecią. Jest to rodzaj niezawodności, który użytkownicy uważają za oczywisty w przypadku aplikacji na konkretną platformę zainstalowanych na urządzeniu mobilnym ze sklepu z aplikacjami. Gdy widzisz ikonę jednej z tych aplikacji, oczekujesz, że będziesz w stanie ją kliknąć i otworzyć, niezależnie od tego, czy masz obecnie połączenie z internetem.
Do niedawna tworzenie aplikacji internetowych, które działałyby niezawodnie bez połączenia z siecią, było trudne.
Niezawodna szybkość
Innym sposobem myślenia o niezawodności jest to, czy użytkownicy mogą liczyć na to, że aplikacja internetowa będzie się wczytywać wystarczająco szybko, gdy mają połączenie z siecią, które może być mniej niż idealne. Czy powracający użytkownicy będą mieli takie same wrażenia podczas korzystania z aplikacji internetowej, gdy będą korzystać z połączenia komórkowego, jak wtedy, gdy będą korzystać z Wi-Fi? A co z użytkownikami, którzy mają połączenie o wysokim opóźnieniu lub "lie-fi" ? Czy aplikacja internetowa będzie działać niezawodnie szybko nawet w takich sytuacjach?
Szybkość w najlepszych warunkach to za mało. Użytkownicy będą oceniać wydajność aplikacji internetowej pod kątem jej działania we wszystkich warunkach sieciowych.
Niezawodność jest osiągalna
Dobra wiadomość jest taka, że nowoczesna platforma internetowa udostępnia technologie, takie jak service worker i interfejs Cache Storage API, które mogą służyć jako elementy składowe do tworzenia niezawodnych aplikacji internetowych. Umożliwiają one pisanie kodu, który znajduje się między aplikacją internetową a siecią. W wielu przypadkach możesz całkowicie pominąć sieć i zamiast tego użyć wcześniej zapisanych w pamięci podręcznej treści, aby zrealizować żądania aplikacji internetowej.
Światło przewodnie: odpowiada kodem 200 OK w trybie offline
Gdy zaczniesz tworzyć skrypt service worker i udostępniać treści z pamięci podręcznej, trudno będzie stwierdzić, czy robisz to skutecznie. Skąd wiesz, że wdrożony skrypt service worker rzeczywiście pomaga aplikacji internetowej unikać sieci? Jak zapobiec temu, aby niewielka zmiana strategii buforowania nie zepsuła starannie przygotowanego działania w trybie offline?
Lighthouse udostępnia jeden konkretny test, który jest szczególnie interesujący podczas tworzenia niezawodnej aplikacji internetowej: Odpowiada kodem 200 OK w trybie offline:
Co jest tu testowane? Sprowadza się to do symulowania utraty połączenia z siecią w przeglądarce, a następnie próby wczytania dowolnego adresu URL w witrynie, która jest sprawdzana. Testuje to jeden aspekt tworzenia niezawodnej witryny – niezawodność w trybie offline – przy użyciu kontrolowanej, powtarzalnej sekwencji działań.
To podróż
Jeśli dopiero zaczynasz, istnieje duża szansa, że w przypadku testu Odpowiada kodem 200 OK w trybie offline otrzymasz wynik negatywny. To nic. O ile nie używasz dostosowanego projektu początkowego, aplikacje internetowe domyślnie nie mają tego typu niezawodności. W kolejnych przewodnikach przedstawimy techniki, które pozwolą Ci określić, co wczytuje aplikacja internetowa, i nauczymy Cię, jak używać Lighthouse, aby zapewnić niezawodne wczytywanie.
W trakcie tego procesu zachęcamy do ponownego uruchamiania audytów Lighthouse. Będą one służyć jako światło przewodnie podczas całej podróży, od nowej aplikacji internetowej po niezawodną progresywną aplikację internetową.