Když se začalo naplno používat PHP (a podobné) a weby se začaly “samy generovat” na základě požadavků, přineslo to mnoho změn. Obsah se přizpůsoboval a web komunikoval s uživatelem. A jak se vše vyvíjelo, uživatelé se stále více a více namlsali a z toho vyplynulo to nejzásadnější – nechtějí čekat. A já taky ne. Čekat mohu v obchodě ve frontě, nebo lépe na zastávce na přeplněnou tramvaj.
No a právě kvůli urychlení všeho (projděte si Google Play a AppStore, opravdu všeho 😉 vznikly “chytrotelefony” a nepřeberné množství aplikací. Vývoj mobilních aplikací jede zkrátka na plné obrátky. Některé aplikace vám skutečně život ulehčí (najít si na mobilu, kdy měla “ta tramvaj” jet je pohodlnější než to hledat na webu, nedej bože jít ke stojanu a hledat něco v malých číslíčkách), někdy méně. Ale pravdou je, že na aplikacích je fajn, že jsou vždy k dispozici, nic moc se nenačítá (myšleno spíše prostředí) a výsledek je tak nějak vždy po ruce. A pak si jednou otevřete v mobilu web a ukoušete si nehty nudou.
A pak vznik nápad, že on by ten web mohl fungovat jako aplikace, používat více nativní funkce jako aplikace, fungovat offline jako aplikace, ale zároveň nebýt aplikací. K tomu přidat nějaký “fancy” název a máme tu Progresivní webové aplikace (PWA).
Takovéto “weby” mají nejblíže hybridním mobilním aplikacím. Používá se kombinace technologií HTML5, CSS3 a JavaScriptu (a ten ideálně s nějakým pěkným frameworkem, jako třeba Angular atp). Rozdíl je de facto jen v zabalení – hybridní aplikace se zkompiluje a výsledek je instalační soubor, PWA se nahraje na server, odkud se stahuje jako běžná webová stránka a odkud běží. A ano, není to tak jednoduché, jak to píšu, ale to si nechme na jiný dlouhý zimní večer.
Aby se “webovka” dala označit za progesivní webovou aplikaci (PWA), tak musí splňovat určité náležitosti. Prvně musí chodit přes zabezpečený protokol (HTTPS) – to je ten zelený zámek vedle adresy, který značí, že vám nikdo neukradne heslo, když ho pošlete přes internet do stovky až tisíce vzdáleného serveru. Dále musí obsahovat speciální manifest – “The Web App Manifest”. Tem mimo jiné specifikuje název, ikony, splash screen, barvy… a tak dále, zkrátka základní feel webové aplikace, ikonu a podobně. Neméně důležitou věcí je tzv. Service Worker – skript, který není přímo součástí webu, ale stará se o propojení mezi aplikací samotnou a prohlížečem zařízení. Více detailů netřeba, Google je toho plný.
Tato technologie se hodí, pokud chcete multiplatformní aplikaci, která může např. jednoduše chatovat, může zobrazovat vaše produkty s možností zakoupení, může interagovat s vaší pozicí. Zkrátka něco nepříliš složitého, aby to bylo možné rozjet i v browseru starého mobilu. A ideálně aby to nemělo “bžilion” funkcí, ale aby to bylo jednoduše přímočaré. Díky tomu se udělá jedna webová aplikace, která se příjemně používá na počítači i telefonu a uživatele potěší rychlou a příjemnou odezvou. Ani si moc nevšimnete, co vše se načítá.
Pokud PWA chcete nahradit mobilní aplikaci. A to především proto, že PWA zatím není plně kompatibilní se Safari na iOS. A to je velká nevýhoda. Naopak pokud potřebujete jednoduchý prezentační web své firmy či svého zájmu, pak asi nevyužijete možností, které PWA nabízí a jen budete zbytečně plýtvat svými prostředky nebo silami – v takovém případě opravu web stačí.
Vždy je nějaké ale. Zde je mnoho ale, nicméně PWA je dozajista zajímavá technologie, která je uplatitelná a je použitelná. Vždy je důležité si pořádně promyslet, co od svého webu/aplikace nebo kombinace obojího chcete, případně se poradit s odborníkem, aby vám cestu doporučil. Ale ve chvíli, kdy bude PWA plně podporování na iOS (a že se na tom již pracuje), tak si dokážu představit, že některé aplikace, které se v současné době vyvíjí jednou jako mobilní aplikace a jednou jako webová aplikace, budou sloučeny do této jedné a bude to ku prospěchu. Dávám tomu rok. Maximálně dva 😉