aplikacje PWA (web jako appki)

aplikacje PWA (web jako appki)

Aplikacje PWA (web jako appki) – rewolucja, która wcale nie taka nowa, a jednak wciąż niedoceniona

Progresywne Aplikacje Webowe (PWA) to technologia, która pozwala stronom internetowym zachowywać się jak natywne aplikacje mobilne – oferując offline’owe działanie, powiadomienia push i ikonę na ekranie głównym, bez konieczności pobierania czegokolwiek ze sklepu Google Play czy App Store. Brzmi jak magia? To tylko dobre wykorzystanie tego, co przeglądarki potrafią od lat, tylko większość developerów wolała udawać, że nie widzi.

PWA – czyli jak oszukać system (i użytkownika)

Pamiętacie czasy, gdy każda firma musiała mieć swoją „apkę”, która tak naprawdę była tylko opakowaniem na mobilną stronę? PWA to odpowiedź na to szaleństwo – technologia, która pozwala osiągnąć podobne efekty bez zasmradzania pamięci telefonu bezużytecznym bloatware’em. Ironiczne, że rozwiązanie istniejące od 2015 roku wciąż jest traktowane jak egzotyczna nowinka.

Jak działa ta magia?

Mechanizm PWA opiera się na trzech filarach:

  • Service Workers – skrypty działające w tle, które potrafią cache’ować zasoby i działać offline
  • Web App Manifest – plik JSON opisujący, jak aplikacja ma się zachowywać po „zainstalowaniu”
  • Responsywny design – bo nawet najlepsze PWA będzie bezużyteczne, jeśli nie dostosuje się do ekranu użytkownika
Funkcja PWA Tradycyjna strona Natywna apka
Działanie offline ✔️ ✔️
Powiadomienia push ✔️ ✔️
Dostęp do sprzętu Ograniczony ✔️
Wymaga instalacji Opcjonalnie ✔️

Dlaczego PWA nie podbiły świata? (Spoiler: winne są sklepy z aplikacjami)

Teoretycznie PWA rozwiązują wszystkie problemy – są lekkie, działają na każdym urządzeniu, nie wymagają aktualizacji przez sklepy. W praktyce jednak zarówno Apple jak i Google mają powody, by nie promować tej technologii zbyt mocno. Przecież sklepy z aplikacjami to ich strategiczne aktywa – Google Play generuje miliardy dolarów rocznie, a App Store to jeden z najważniejszych strumieni przychodów Apple.

Case study: Twitter vs. Twitter Lite

W 2017 roku Twitter wypuścił Twitter Lite – PWA ważące mniej niż 1MB, które:

  • Ładuje się 5x szybciej niż natywna aplikacja
  • Zużywa 70% mniej danych
  • Działa offline

Efekt? W krajach rozwijających się stało się hitem. W USA i Europie? Cicho sza. Bo kto by chciał rezygnować z apki ważącej 250MB, skoro można mieć coś działającego lepiej, ale bez fajnej ikonki w drawerze?

Kiedy PWA ma sens, a kiedy to strata czasu?

Nie oszukujmy się – nie każdy projekt nadaje się na PWA. Oto kiedy warto rozważyć tę technologię:

  • Projekty content-first – media, blogi, strony informacyjne
  • Aplikacje wewnętrzne – CRM-y, systemy dla pracowników
  • Prototypy – szybkie testowanie pomysłów bez inwestycji w natywne development

Z drugiej strony, PWA to zły pomysł gdy:

  • Potrzebujesz pełnego dostępu do sprzętu (np. zaawansowane gry)
  • Twoja aplikacja musi działać w tle przez dłuższy czas
  • Chcesz być w TOP 10 sklepu Google Play/App Store

Przyszłość PWA – czy WebAssembly zmieni reguły gry?

Wchodzi WebAssembly – technologia pozwalająca na uruchamianie kodu napisanego w C++, Rust czy Go w przeglądarce z wydajnością zbliżoną do natywnej. Połącz to z PWA i nagle okazuje się, że webowe aplikacje mogą konkurować z natywnymi nawet w obszarach wymagających wysokiej wydajności.

Przykłady? Figma, Photoshop Express czy nawet Unity już pokazują, co można osiągnąć. Apple oczywiście jak zwykle hamuje postęp – Safari wciąż ma ograniczoną obsługę niektórych funkcji PWA. Zaskoczenie? Raczej standard.

Jak zacząć z PWA? (Nie potrzebujesz frameworka, naprawdę)

Wbrew temu, co próbują wmówić sprzedawcy frameworków, do stworzenia podstawowego PWA wystarczy:

  1. Plik manifest.json
  2. Prosty service worker
  3. Ikona w odpowiednich rozmiarach

Oczywiście, możesz użyć gotowych rozwiązań jak Workbox czy PWA Builder, ale prawda jest taka, że podstawy możesz opanować w jeden wieczór. I to jest właśnie piękno tej technologii – w przeciwieństwie do natywnego developmentu, nie musisz uczyć się całego ekosystemu, żeby zrobić coś użytecznego.

Czy PWA to przyszłość? Pewnie tak, tylko jeszcze o tym nie wiemy

Historia technologii pokazuje, że najlepsze rozwiązania często wygrywają nie dlatego, że są technicznie doskonałe, ale dlatego, że trafiają w odpowiedni moment. PWA mają potencjał, by zrewolucjonizować sposób, w jaki myślimy o aplikacjach – szczególnie w świecie, gdzie różnice między urządzeniami coraz bardziej się zacierają.

Tylko czy kiedykolwiek do tego dojdzie, skoro największe korporacje technologiczne mają interes w utrzymaniu status quo? No cóż, przynajmniej możemy się pocieszać, że w przeciwieństwie do blockchaina, PWA faktycznie rozwiązują realne problemy.