fbpx

Kaj je progresivna spletna aplikacija (PWA)?

Progresivna spletna aplikacija ali na kratko PWA (Progressive Web App) je izraz, ki zajema nekaj dodatnih funkcionalnosti spleta, ki jih lahko dodamo katerikoli spletni strani, da izboljšamo njeno delovanje. Cilj dodajanja teh funkcionalnosti je, da približamo delovanje spletnih strani delovanju aplikacij, ki so nameščene na naših računalnikih ali mobilnih telefonih.

Ob uporabi aplikacije nameščene na našem računalniku imamo določena pričakovanja. Te zajemajo malenkosti kot je, da lahko aplikacijo zaženemo z ikono, ki se je pojavila na namizju ob namestitvi, do pomembnejših pričakovanjo kot so:  

Izgled in delovanje uporabniškega vmesnika. Ne glede katero aplikacijo zaženemo na računalniku in ne glede na to ali smo to aplikacijo že kdaj v preteklosti uporabljali, bomo nemudoma znali navigirati med različnimi funkcionalnostmi aplikacije, dostopati do nastavitve, zapreti aplikacijo, itd. Ta dejanja nam bodo znana, ker uporabniški vmesniki na naših napravah sledijo določenim vzorcem. Delovanje uporabniškega vmesnika ni samo predvidljivo, ampak je tudi zelo odzivno. Ob pritiskih gumbov se pojavljajo animacije in včasih tudi zvoki, ki pomagajo pri uporabi.

Delovanje brez povezave do interneta. V tem pogledu se splet močno razlikuje od aplikacij na naših napravah. Kaj se zgodi, ko odpremo spletno stran brez povezave do spleta? Verjetno ste si takoj predstavljali bel zavihek v brskalniku s sporočilom, da spletna stran trenutno ni na voljo. Morda ste nekateri med vami celo pomislili na dinozavra poimenovanega Connectozaver, ki ga brskalnik Chrome prikaže v tem primeru. Nasvet: naslednjič ko zagledate Connectozavra, pritisnite na tipko space. S tipko space lahko preskočite ovire. To zadnje navodilo boste razumeli šele ko boste poskusili. Pri nameščenih aplikacijah bi bilo takšno vedenje čudno in nezaželjeno. Tudi od aplikacij, za katere vemo, da potrebujejo povezavo do spleta, da lahko prikažejo svežo vsebino pričakujemo, da se bodo normalno zagnale in da bo večina uporabniške izkušnje, z izjemo sveže vsebine, delovala nemoteno.

Dostop do strojne opreme. Zaradi varnosti je dostop spletnim stranem do strojne opreme zelo omejen. Nameščene aplikacije lahko dostopajo do kamere na naših mobilnih telefonih, do mikrofonov, do datotek na naših napravah, do lokacije itd. S tem omogočajo funkcionalnosti in izkušnje, ki na spletu do sedaj niso bile mogoče.

Prejemanje sistemskih obvestil. Prejemanje obvestil od aplikacij na katere se zanašamo, še posebej kadar gre za naš posel ali delo, je ključno. Skoraj si ne znamo predstavljati kako bi bilo, če prejmemo nov email  in o tem ne bi bili obveščeni. Povratne informacije so ključne, če želimo, da so naše aplikacije koristne.

Odzivnost in hitro delovanje. Tudi v tem pogledu imamo povsem različna pričakovanja, če primerjamo spletne strani z nameščenimi aplikacijami. Na spletu je povsem normalno, da ob vsakem kliku, ki predstavlja navigacijo med stranmi, doživimo nalaganje vsebine. Najprej bel zaslon. Nato se prikaže tekst, zatem slike in nazadnje prične delovati še sama funkcionalnost strani. Če bi tako delovala katerakoli nameščena aplikacija, bi jo nemudoma odstrani iz naše naprave. Pri spletnih straneh smo tudi veliko bolj prizanesljivi, kadar po pomoti zapremo okno ali zmanjka povezave ali pritisnemo tipko nazaj in puf izgubljeni so vsi podatki, ki smo jih vtipkali v zelo dolg obrazec. Od nameščenih aplikacij pričakujemo, da obdržijo stanje ne glede na motnje v delovanju ali naše napake.

Z uporabo PWA tehnologij lahko nadgradimo delovanje spletne strani tako, da izpolnjuje pričakovanja nameščenih aplikacij. Spletne strani postanejo spletne aplikacije, ker ponujajo podobne, če ne enake funkcionalni, kot smo jih predstavili za nameščene aplikacije. Iz tega razloga se je v izrazu progresivne spletne aplikacije znašla beseda “aplikacje”.

In kaj predstavlja beseda “progresivne”?

Beseda “progresivne” v izrazu PWA se nanaša na načine dodajanja funkcionalnosti obstoječim spletnim stranem. Splet kot platforma je zelo fragmentiran. Do fragmentacije prihaja zaradi različnih naprav s katerih dostopamo do spleta in tudi zaradi različnih brskalnikov, ki jih uporabljamo. In še to je samo delček zgodbe o razčlenjenosti spletne platforme. Danes je značilno, da večji del obiska spletnih strani predstavljajo različni  programi, ki indeksirajo splet ali iščejo druge podatke. Ti roboti, ki obiskujejo spletne strani ne uporabljajo brskalnikov. 

Funkcionalnosti, ki jih lahko dodamo, da zajezimo razlike med delovanjem spletnih strani in nameščenih aplikacij, so močno odvisne od brskalnika. Na primer, če želimo pošiljati sistemska obvestila iz spletne strani, mora to omogočiti brskalnik. In kaj se zgodi, če brskalnik določene funkcionalnosti ne podpira? Odgovor je, da mora spletna stran še vedno delovati. Ker je potrebno zagotoviti nemoteno izkušnjo na celotni fregmentirani platformi, se bomo velikokrat znašli v položaju, ko določen uporabnik ne more uporabljati neke nove funkcionalnosti. Bodisi zato, ker je omejen s svojo napravo ali zato, ker uporablja zastarel brskalnik ali takšnega, ki počasi sledi novim spletnim standardom. Progresivnost pomeni, da spletna stran ponudi izkušnjo, ki deluje na celotni fregmentirani platformi in nato progresivno dodaja funkcionalnosti, če so podprte. Z drugimi besedami, če obiščemo PWA na moderni napravi, ki uporablja moderni brskalnik nam je ponujena izkušnja, ki je v skladu s pričakovanji nameščenih aplikacij. V primeru, ko isto stran obiščimo na napravi z zastarelim brskalnikom, dobimo izkušnjo brez dodatnih razširitev, ki je bolj v skladu s pričakovanji trenutnega spleta. Progresivnost je torej nujno zlo v prehodnem času do takrat, ko bo spletna platforma kot celota dohitela najnovejše trende. Takrat bomo govorili samo še o spletnih aplikacijah.