Čo sú progresívne webové aplikácie?
Či si želali webové aplikácie správať sa skôr ako skutočné aplikácie? Progresívne webové aplikácie sú novou technológiou, ktorej cieľom je dosiahnuť to.
Krátka verzia: Čo sú progresívne webové aplikácie?
Tu je rýchly prehľad: Google, Microsoft, Mozilla a ďalšie spoločnosti pracujú na novom modernom štandarde webových aplikácií. Aj spoločnosť Apple sleduje a implementuje podporu. Tieto aplikácie sú webové aplikácie, ale správajú sa viac ako native aplikácie. Rovnako ako existujúce webové aplikácie, budú hostované priamo na pridružených webových stránkach. Vývojári ich môžu aktualizovať priamo na svojom webovom serveri bez odosielania týchto aktualizácií do niekoľkých rôznych obchodov s aplikáciami a tá istá aplikácia sa bude zobrazovať vo všetkých prehliadačoch a platformách.
Pri inštalácii progresívnej webovej aplikácie dostanete domovskú obrazovku, panel úloh alebo skratku na pracovnej ploche, ktorá spúšťa aplikáciu (v závislosti od vašej platformy). Aplikácia sa načíta rýchlo a bude zahŕňať podporu offline, push upozornenia, podporu synchronizácie pozadia a ďalšie moderné dobroty.
Tieto aplikácie môžu tiež využívať existujúce webové technológie na prístup k službám určovania polohy, vašej webovej kamere a ďalším funkciám, ktoré by sme normálne spájali s natívnymi aplikáciami. Aplikácie sa samozrejme musia opýtať na vás a získať vaše povolenie pred tým, ako sa k týmto veciam dostanete.
Technická verzia: Ako fungujú?
Progresívne webové aplikácie sú tradičné webové aplikácie, ktoré sú zdokonalené modernými webovými technológiami a umožňujú im poskytnúť viac skúseností podobných aplikáciám. Časť "progresívna" znamená, že sú "progresívne vylepšené" modernými funkciami webu, čo znamená, že budú pracovať aj v starších prehliadačoch, ktoré nepodporujú nové funkcie, ale budú fungovať lepšie a s viacerými funkciami v moderných prehliadačoch.
Tieto aplikácie získajú svoje vlastné okno a skratku na paneli úloh (v systéme Windows 10 a čokoľvek so spusteným prehliadačom Chrome) alebo ikonu na domácej obrazovke (v zariadeniach s Androidom a inými zariadeniami). Keď ich otvoríte, rýchlo sa načítajú vďaka API vyrovnávacej pamäte a IndexedDB, ktorá ukladá zdroje a dáta aplikácie do vášho zariadenia, čo im umožní pracovať aj vtedy, keď sú offline. Technológie ako servisní pracovníci a upozornenia push umožnia aplikácii vykonávať zálohové úlohy, ako je synchronizácia a odosielanie upozornení aj vtedy, keď sa nespúšťajú, napríklad ako natívna aplikácia. Aplikácia Fetch API umožňuje aplikácii rýchlejšie a jednoduchšie požadovať údaje. Majú súbor Manifest Web App, ktorý obsahuje meno, ikonu, autora a popis, ktorý sa používa pri inštalácii aplikácie na vašu domovskú obrazovku alebo pracovnú plochu. Používajú sa vždy prostredníctvom šifrovaného protokolu HTTPS, čo znamená, že sú zabezpečené a údaje nemožno manipulovať v režime prepravy.
Progresívne webové aplikácie nie sú ako balíčky Google Chrome Packaged Apps alebo Microsoft Hosted Web Apps. Tie vyžadovali, aby bola aplikácia "zabalená" ako súbor a odoslaná do obchodu s aplikáciami. Celá aplikácia žila v malom offline zväzku a používatelia ho museli nainštalovať buď z Internetového obchodu Chrome alebo z obchodu Windows Store. Tie boli tiež špecifické pre platformu a fungovali by iba v prehliadači Chrome alebo Windows. Vývojár musel zmeniť súbory aplikácie offline a odoslať novú verziu do obchodu s aplikáciami, aby ju aktualizoval.
Namiesto toho sú PWA nikdy zabalené do súboru offline. Podobne ako tradičné webové aplikácie, ktoré dnes používame, sú hostované úplne na serveroch aplikácie. Ak chce vývojár aktualizovať svoju progresívnu webovú aplikáciu, aktualizujú ju presne tak, ako by aktualizovali webovú aplikáciu - na svojich serveroch. Všetky platformy a prehliadače, ktoré podporujú PWA, môžu používať tie isté Progressive Web Apps.
PWA môžu byť uvedené v obchodoch s aplikáciami pre jednoduchšie zisťovanie a inštaláciu, ale úložisko aplikácií bude len smerovať na servery webovej aplikácie. Aj keď aplikácia nie je kompatibilná s pravidlami pre obsah aplikácie v obchode, používatelia ju budú môcť nájsť a nainštalovať priamo z prehliadača.
Prečo je to dôležité
Nejde len o to, aby sa webové aplikácie trochu lepšie. Ide o stanovenie nového štandardu pre inštalovateľné aplikácie, ktoré podporuje každá platforma. To by mohlo znamenať prekvapujúce udalosti v blízkej budúcnosti.
Ak sa napríklad táto práca vykoná, služba Google môže povoliť, aby služby ako Gmail a Kalendár Google fungovali ako PWA. To znamená, že by sa spustili ako aplikácie s natívnym štýlom v systéme Windows 10 a mali by byť uvedené v systéme Windows Store. To by znamenalo dlhú cestu k riešeniu problému s aplikáciou Windows Store, keďže spoločnosť Google nechce podporovať univerzálnu platformu Windows (UWP) spoločnosti Microsoft. Ostatní vývojári, ktorí nechcú vytvárať samostatné aplikácie UWP, by zrazu mohli podporiť systém Windows 10 s natívnymi PWA.
Vývojári by mali jednoduchší spôsob, ako robiť svoje aplikácie webových aplikácií výkonnejším a integrovanejším spôsobom na širokú škálu zariadení, bez toho, aby skočili cez obruče aplikácií. Webové aplikácie, ktoré fungujú všade, budú môcť lepšie konkurovať natívnym aplikáciám, ktoré pracujú na jedinej platforme. Spoločnosť, ktorá má zdroje na vytvorenie jedinej aplikácie, môže vytvoriť PWA a podporovať všetko, a nie vytvárať samostatné aplikácie pre iOS, Android, Windows a web.
A vzhľadom na to, že vývojári poskytnú súbory Web App Manifest, vyhľadávače budú môcť prehľadávať web a jednoducho nájsť dostupné internetové servery PWA. Tým sa PWA ľahko objavia, rovnako ako webové stránky.
Aké platformy sú podporované?
Progresívne webové aplikácie sa už niekoľko rokov vyvíjajú, ale pripravujú väčší skok do verejného oka.
S ďalšou aktualizáciou systému Windows 10 - aktualizácia v apríli 2018, s kódovým označením Redstone 4, ktorá bude vydaná 30. apríla - spoločnosť Microsoft povolí podporu pre PWA. Rovnako ako na iných platformách, môžete ísť na webovú stránku spoločnosti PWA a nainštalovať ju cez Microsoft Edge. Spoločnosť Microsoft však bude ukladať aj progresívne webové aplikácie v obchode pre jednoduchú inštaláciu. Vývojári si môžu v aplikácii Store uvádzať svoje vlastné aplikácie, ale Microsoft bude tiež používať Bing, aby našiel dobré PWA na webe a automaticky ich vymenoval. Budú naďalej bežne hosťované na svojich webových stránkach a aktualizované vývojárom, ale spoločnosť Microsoft uľahčuje ich vyhľadávanie a inštaláciu. Už nikdy nebudete musieť otvoriť prehliadač Edge, aby ste našli, nainštalovali a spustili PWA v systéme Windows 10. To by malo pomôcť hromadeniu systému Windows Store, ale vyzerá to ako zlá správa pre platformu aplikácií UWP spoločnosti Microsoft. Prečo by mnohí vývojári vytvorili aplikáciu UWP, ak by PWA fungoval na viacerých operačných systémoch?
V prehliadači Google Chrome - či už pre systém Windows, Mac, Linux alebo Chrome OS - PWA sa chystá nahradiť prerušovanú platformu Chrome Apps. Google tvrdí, že podpora pre inštaláciu desktopov PWA by mala prísť "zhruba v polovici roku 2018". Tieto PWA budú pracovať s prehliadačom Chrome na pracovnej ploche. Táto funkcia je už testovaná v nestabilnej vývojovej verzii prehliadača Chrome nazvanej Kanárske.
V systéme Android už program Google Chrome podporuje inštaláciu PWA, rovnako ako iné mobilné prehliadače, ako napríklad Mozilla Firefox, Opera a prehliadač Samsung. Spoločnosť Google pracuje na technológii s názvom WebAPK, ktorá umožní, aby boli PWA premenené na súbory APK (súbory aplikácií pre systém Android) a nainštalované do zariadenia, ako ostatné aplikácie. Projektový manažér spoločnosti Chrome naznačil, že do obchodu Google Play môžu byť pridané aj PWA.
Zatiaľ čo Apple nebol vokálnym navrhovateľom alebo účastníkom, teraz pridávajú funkcie PWA aj do prehliadača Safari.
2018 by mal byť veľkým rokom pre PWA, najmä v systéme Windows 10, kde by mohli pomôcť spoločnosti Microsoft zatvoriť rozdiel v aplikáciách a mať viac aplikácií s natívnym štýlom.
Image Credit: Prabowo96