PWA – czym jest i jak testować

PWA – czym jest i jak testować
W poniższym artykule przybliżymy pojęcie Progressive Web App (PWA). Poznamy narzędzia oraz techniki przydatne do przeprowadzenia testów aplikacji typu PWA.

Czym jest PWA?

Progresywna aplikacja internetowa jest to aplikacja internetowa, która dzięki zastosowanym rozwiązaniom działa prawidłowo niezależnie od urządzenia, przeglądarki czy połączenia internetowego. Aplikacja ta może przypominać aplikację mobilną, ponieważ można ją pobrać na pulpit i działa w trybie offline.

Atrybuty aplikacji PWA

Aby aplikacja mogła być określana jako PWA powinna spełniać szereg atrybutów:

  1. Bezpieczeństwo - powinna szyfrować dane oraz zapewniać bezpieczeństwo przesyłu informacji.
  2. Szybkość - ładowanie zawartości strony powinno cechować się dużą szybkością.
  3. Responsywność - aplikacja powinna prawidłowo działać na różnych rozdzielczościach.
  4. Wsparcie dla różnych przeglądarek - powinna działać prawidłowo niezależnie od wykorzystywanego oprogramowania.
  5. Dostępność w trybie offline - funkcje aplikacji powinny być dostępne, gdy nie ma połączenia z siecią internetową.
  6. Możliwość instalacji - można zapisać aplikację na ekranie głównym urządzenia.
  7. Otrzymywanie powiadomień typu push – aplikacja powinna umożliwiać generowanie powiadomień typu push.
  8. Udostępnianie linków – aplikacja powinna umożliwiać udostępnianie linków do swoich podstron.
  9. Ułatwienia dostępu - zaleca się, aby aplikacja była zgodna z wytycznymi WCAG. Wytyczne te poprawiają dostępność strony m.in. dla osób z niepełnosprawnościami.
  10. SEO - powinna być prawidłowo zoptymalizowana pod kątem wyszukiwarek.
  11. Obsługa za pomocą dowolnego wejścia - powinna współpracować z różnymi metodami obsługi typu: mysz, klawiatura, dotyk, rysik.
  12. Uprawnienia - powinna prosić o uprawnienia tylko w wymagających tego sytuacjach. Taka prośba powinna być uzasadniona i powinna znajdować się w odpowiednim kontekście użycia aplikacji.
  13. Stosowanie sprawdzonych metod - powinna korzystać ze sprawdzonych metod tworzenia stron internetowych.

Powyższa lista pozwala zweryfikować, w jakim stopniu aplikacja jest zgodna z definicją PWA.

Kluczowymi składowymi progresywnych aplikacji są: service workers oraz manifest.json.

Service workers to narzędzie typu proxy, które nadaje aplikacjom takie funkcjonalności jak: działanie w trybie offline, wysyłanie notyfikacji push czy aktualizacja.

Plik manifest.json zawiera niezbędne informacje dotyczące możliwości uruchomienia aplikacji na pulpicie urządzenia. Plik ten może zawierać takie elementy jak: nazwa aplikacji, adres URL czy dane ikon.

Narzędzia do testów

Na rynku istnieją narzędzia, dzięki którym w automatyczny sposób jesteśmy w stanie zweryfikować poziom zgodności aplikacji z atrybutami PWA.

Jednym z najpopularniejszych i najłatwiej dostępnych narzędzi jest Lighthouse. Jest on dostępny z poziomu DevTools w przeglądarce Chrome.

Aby go uruchomić należy:

  1. Otworzyć DevToolsy (F12).
  2. Przejść do zakładki Lighthouse.
  3. Zaznaczyć odpowiednią kategorię.
  4. Wskazać urządzenie.
  5. Użyć przycisku "Wygeneruj raport".

lighthouse.jpg

Przykład dla strony twitter.com:

Strona twitter.com jest świetnym przykładem aplikacji spełniającej wymagania PWA. Poniżej wyniki analizy przeprowadzone narzędziem Lighthouse:

pwa-twitter.jpg

Jak widzimy wszystkie elementy możliwe do sprawdzenia zostały spełnione. Dodatkowo narzędzie zwróciło informację, że należy manualnie sprawdzić:

  • czy witryna działa w różnych przeglądarkach,
  • czy aplikacja działa szybko, niezależnie od połączenia internetowego,
  • czy każda strona ma swój unikalny adres URL.

Za pomocą Lighthouse możemy sprawdzić również inne właściwości aplikacji, przydatne przy testach PWA, takie jak:

  • wydajność,
  • sprawdzone metody,
  • ułatwienia dostępu,
  • SEO.

Robi się to analogicznie jak powyższe testy, wybierając odpowiednią kategorię w opcjach.

Innym narzędziem przydatnymi do testów jest PWA builder znajdujący się na stronie https://www.pwabuilder.com/

Na stronie głównej podajemy adres strony, którą chcemy poddać analizie, po czym otrzymujemy wyniki:

pwa-builder.jpg

Ostatnie narzędzie, które zaprezentujemy to PWA Testing Tool. Jest ono dostępne pod adresem https://www.seoreviewtools.com/pwa-testing-tool/.

Podobnie jak w poprzednim narzędziu wystarczy podać adres domeny i analiza zostanie wykonana.

pwa-testing-tool.jpg

Korzyści

Stosowanie PWA może mieć pozytywny wpływ na wartość biznesową aplikacji. W sieci możemy znaleźć przykłady różnych korzyści, które pojawiły się po przystosowaniu strony do standardów PWA, np.:

  • większe zaangażowanie użytkowników,
  • większa konwersja,
  • zwiększone przychody z reklam,
  • znaczne zmniejszenie rozmiaru aplikacji.

pwa-success-stories.jpg

Podsumowanie

Tester ma do dyspozycji wiele narzędzi, które są dedykowane do weryfikacji stopnia zgodności aplikacji ze standardami PWA. Nie pozwalają one jednak na weryfikację wszystkich wytycznych. Część atrybutów należy zweryfikować manualnie lub wspomagając się narzędziami używanymi w innych rodzajach testów. Warto wykonać tego typu testy, ponieważ nawet pobieżna analiza, w oparciu o narzędzia, takie jak Lighthouse, da nam wiedzę na temat zgodności testowanej aplikacji z wytycznymi PWA.

Źródła:
https://web.dev/pwa-checklist/
https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API
https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Introduction
https://www.pwabuilder.com/
https://www.seoreviewtools.com/pwa-testing-tool

To powinno Cię zainteresować