Kontaktujte nás

Progresivní webové aplikace, jejich výhody a nevýhody

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.