Progresivní webové aplikace, jejich výhody a nevýhody
Aplikace, Front-end
19. 2. 2021
Progresivní webové aplikace jsou relativně moderním řešením, jak si lze snížit náklady spojené s vývojem nativních aplikací. Avšak není všechno zlato, co se třpytí. Pro správné rozhodnutí je nutné se s touto technologií lépe seznámit a znát její možnosti i limity.
Co vlastně PWA jsou?
Progresivní webová aplikace je v zásadě kompromisem mezi vývojem webové a nativní aplikace. Jedná se o jednu multiplatformní aplikaci, která bez problémů dokáže fungovat na počítačích, tabletech i telefonech. Ve svém srdci jsou to technologicky moderní webové aplikace, které fungují standalone, samostatně i bez přístupu k internetu.
Proč bych PWA měl chtít?
Multiplatformní řešení
Jako hlavní výhodou progresivních webových aplikací je jejich multiplatformnost. Vývojem jednoho produktu dostanete hodnotnou aplikaci fungující ve všech moderních prohlížečích s možností instalace do zařízení, která to umožňují. Tímto je možné z velké části ušetřit množství finančních prostředků, které by bylo nutné vložit do vývoje nativních aplikací pro různé platformy.
Jsou dostupné offline
Další výhodou PWA, oproti klasické webové aplikaci, je možnost aplikaci používat i bez připojení k internetu. Chová se tak v tomto případě stejně jako nativní aplikace a je schopna zobrazit i dříve načtené data.
Aktualizace
Aktualizace progresivních webových aplikací probíhá v podstatě automaticky. Jelikož se stále jedná o weby, tak aktivní připojení k internetu zajistí nejnovější verzi pro všechny uživatele, včetně okamžitého přístupu k novým funkcím.
Přístup ke specifickým funkcím jednotlivých platforem
PWA dokážou využívat hardware zařízení stejně efektivně jako nativní aplikace. Seznam dostupných funkcí potom blíže závisí čistě na dané platformě a zda tuto možnost aplikaci nabízí. Pro představu pak mluvíme například o možnosti použití fotoaparátu, senzorů (magnetometr, akcelerometr, gyroskop), geolokace, platebních systémů (Apple Pay, Google Pay) a push notifikací (Android).
Je v tom i nějaký háček?
Vyšší nároky na výkon mobilních zařízení
Ač se může zdát PWA na mobilních zařízeních díky své malé velikosti a jednoduchosti úspornější než nativní aplikace, není tomu tak. Díky tomu, že aplikace nejsou zkompilovány do strojového kódu, můžou fungovat pomaleji nebo vyžadovat větší výkon, což se následně projeví na spotřebě baterie. Tento neduh by však mohlo pomoci vyřešit WebAssembly, což jsou aplikace zkompilované do strojového kódu běžící v prohlížečích. Tato cesta tvorby je však díky zatím ne velkému zájmu a potřebě psát aplikace v jazycích C/C++, C# nebo Rust relativně nákladnější.
Podpora starších zařízení
V zásadě by se dalo říct, že progresivní webové aplikace jsou relativně novou technologií. Díky tomu instalaci těchto aplikací nemusí podporovat všechna starší zařízení, která nedostala možnost si prohlížeč aktualizovat na nejnovější verzi. V tomto případě se bavíme opět o iOS a jeho Safari, které podporuje instalaci PWA od verze systému 11.3 z roku 2018. Pokud to převedeme na zařízení, tak se bavíme o nemožnosti instalovat aplikace na iPhone 4s a dřívější a také pro uživatele co nemají aktualizovaný systém na verzi 11.3 a výš.
Nedostatečná znalost instalace
Většina lidí, bez toho abychom je na to nějakým způsobem upozornili, neví, že se jedná o progresivní webovou aplikaci. Přichází tedy o možnost přidat (nainstalovat) si ji do svého zařízení a používat ji bez nutnosti otevírat prohlížeč a znovu zadávat URL adresu.
Tabulkové srovnání
Podpora
99% používaných prohlížečů
98% používaných prohlížečů
97% používaných prohlížečů
99% používaných prohlížečů
Notifikace
Nativní push notifikace
Notifikace v aplikaci
Nativní push notifikace
Notifikace v aplikaci (workaround)
Push notifikace (Edge, Chrome)
Push notifikace (Safari, Chrome)
Ikony
Home screen ikona
Home screen ikona
Ikona prohlížeče Edge
Ikona v Aplikacích
Spouštění v režimu celé obrazovky
Ano
Částečně
Ano
Ano
Instalace
Nativní instalační banner a pop-up
Google Play Store
Přidat na home screen
Bannery a tlačítka v aplikaci (nejedná se o nativní podporu)
Microsoft Store a Xbox Store
Edge instalační pop-up
Chrome instalační banner
Bannery a tlačítka v aplikaci (nejedná se o nativní podporu)
Safari instalaci nepodporuje
Úložiště
Až 33% celkové velikosti úložiště
50MB (2GB Indexované databázové API)
Až 33% celkové velikosti úložiště
50MB (2GB Indexované databázové API)
I/O podpora
GPS, Přístup k souborům, Bluetooth, USB, Fotoaparát (Kamera), Mikrofon, Schránka (Clipboard), Vibrace, Magnetometr, Akcelerometr, Gyroskop
GPS, Přístup k souborům, Fotoaparát (Kamera), Mikrofon, Magnetometr, Akcelerometr, Gyroskop
Geolokace, Přístup k souborům, Fotoaparát (Kamera), Mikrofon, Schránka (Clipboard)
Geolokace, Přístup k souborům, Fotoaparát (Kamera), Mikrofon, Schránka (Clipboard)
Autorizace a platby
Android přihlášení, Google Pay, Platební AP, Chrome autofill, Správce hesel
Apple přihlášení, Apple Pay, Safari autofill
Autofill prohlížeče, Platební API
Autofill prohlížeče
A závěrem?
Závěrem by se dalo říci, že progresivní webové aplikace určitě své místo na trhu mají a mít budou. Při rozhodování zda je tato technologie vhodná, je nutné zvážit nejenom všechny aktuální možnosti a aspekty tohoto typu aplikací, ale i to zda při budoucím rozvoji aplikace bude toto řešení dostatečné a daný rozvoj nebude brzděn technologickými limity. Pokud budeme tento typ aplikací chápat pouze jako možnost vytvořit si relativně levnou mobilní aplikaci, není to správně. Je potřeba si uvědomit, že mnoho firem má možnost instalace progresivní webové aplikace do telefonu pouze jako sekundární řešení a primárně uživatele vybízí k instalaci jejich nativní aplikace ze storu.
Ještě bychom mohli dodat, že jelikož je tento přístup relativně nový, tak uživatelé, minimálně v česku, nejsou prozatím zvyklí, nebo naučeni tento typ aplikací používat a instalovat. Nárůst konverzí se potom v těchto případech může lišit a nebýt tak optimistický jako třeba u Twitteru, Tinderu nebo Trivaga.