PWA – Progressive Web Application
Czy jesteście w stanie wyobrazić sobie aplikacje na telefony bez potrzeby ich instalacji ze sklepu play store, app store? Korzystania z nich nawet w przypadku braku dostępu do internetu? Witam w świecie PWA – Progressive Web Application – nowoczesnych aplikacji internetowych.
Po raz pierwszy trafiłem na ten termin słuchając podcasta Making a Web App Progressive with Christian Heilmann. W bardzo przystępny sposób Christian Heilmann opowiedział o idei jaka stoi za PWA, jak wyglądają bieżące możliwości przeglądarek w zakresie obsługi funkcjonalności, które mają dostarczać nowoczesne aplikacje internetowe i do czego to wszystko zmierza. Zrobiło to na mnie duże wrażenie. Nie tylko od strony technologicznej ale także praktycznej jako użytkownika takiej aplikacji. Samo odejście od braku potrzeby instalacji ze sklepu aby jej użyć już jest dla mnie bardzo wygodne. Ile to razy instalowałem aplikację aby użyć jej raz.
Co istotne aby aplikacja internetowa stała się „nowoczesną” nie trzeba pisać jej od nowa. Można dokonać pewnych modyfikacji, nowych implementacji, który przyczynią się do zmiany jej w PWA. Poniżej przedstawiam bardzo ogólne założenia, które mam nadzieję wprowadzą Cię w świat PWA.
Główne założenia
Niezawodność
źródło: https://auth0.com/blog/creating-offline-first-web-apps-with-service-workers/ |
Szybkość
Jedna z najbardziej frustrujących rzeczy – oczekiwanie na załadowanie się strony internetowej. Aplikacja może oferować nie wiadomo jakie fajerwerki ale jeśli jest wolna, użytkownik ciągli dostaje komunikaty typu „trwa ładowanie danych, proszę czekać …”, interfejs zawiesza się lub trzeba długo czekać na jej uruchomienie to z pewnością przeważy to na jej niekorzyść i możesz być pewien że już z niej nie skorzysta.
Atrakcyjność
Przykładowe aplikacje
Przydatne narzędzia
- Lighthouse – narzędzie do badania w jakim stopniu nasza aplikacja spełnia założenia PWA.
- Konsole deweloperskie dostępne w przeglądarkach, które w całości dostarczają nam wszystkich informacji oraz narzędzi. Polecam zapoznanie się z artykułem Tools for PWA Developers