Progressive Web Application (PWA) to nazwa na strony internetowe, które są "nowoczesne". Tak w skrócie możemy scharakteryzować ten termin.
Google podaje trzy warunki, które które trzeba spełnić, aby uznać że dana strona to PWA:
- 1. Ładować się szybko przy słabym połączeniu internetowym
- 2. Działać szybko i płynnie
- 3. Działać podobnie do standardowych aplikacji mobilnych, dając super user experiance
Nie są to bardzo precyzyjne określenia, czy to znaczy że jedna strona może być "bardziej PWA" od innych. Wystarczy zaimplementować tzw. manifest i certyfikat SSL, aby nasza strona była traktowana jako "PWA" przez przeglądarki mobilne. Jednak, czy wtedy nasza strona jest rzeczywiście PWA?
Poniżej przedstawiamy bardziej szczegółowa cyklistę od Google, dopiero po spełnieniu większości z poniższych warunków można naszym zdaniem powiedzieć o stronie że jest to PWA:
- 1. Strona powinna mieć zaimplementowany HTTPS
- 2. Strona powinna być responsywna na tabletach i telefonach
- 3. Strona powinna "odpowiadać" nawet bez połączenia internetowego
- 4. Implementacja manifestu
- 5. Szybkie ładowanie strony nawet przy słabym połączeniu - ładowanie poniżej 10 sekund przy połączeniu 3G
- 6. Strona powinna działać na Chrome, Edge, Firefox i Safarii
- 7. Przechodzenie między stronami powinno być natychmiastowe
- 7. Każda podstrona powinna mieć unikalny adres URL
- 8. Google powinno móc indeksować podstrony
- 9. Implementacja metadanych
- 10. Implementacja metadanych z social media
- 10. Jedna treść powinna być dostępna tylko poda jednym adresem URL (zablokowanie powielania tej samej treści pod różnymi adresami)
- 11. Implementacja History API
- 12. Odpowiednie ładowanie zdjęć
- 13. Zachowanie pozycji (scrolla) strony po tym gdy wrócimy do tej strony z innej strony
- 14. Po kliknięciu na input, klawiatura ekranowa nie powinna go zasłaniać
- 15. Popawne wyświetlanie strony na telefonach, tabletach i komputerach.
To tylko połowa z wytycznych, wszystkie wraz z dokładnym opisem znajdą Państwo na stronie https://developers.google.com/web/progressive-web-apps/checklist
Wiele z powyższych warunków jest niemożliwa do spełnienia dla stron internetowych nie implemetujących Single Page Application.