fbpx

Progresivne spletne aplikacije ali PWA in splet, ki ga je mogoče namestiti na naprave

Novosti o progresivnih spletnih aplikacijah PWA, predstavljene na Google Chrome Dev Sumit 2019

Beseda “namesti” predstavlja za uporabnike programsko rešitev ali mobilno aplikacijo, ki jo je potrebno dodati na svojo napravo, preden jo lahko uporabljamo. Ko je aplikacija dodana pričakujemo določeno obnašanje, kot na primer:

  • uporabniški vmesnik se mora obnašati in izgledati na način, kot se obnašajo druge aplikacije v določen operacijskem sistemu,
  • obnašanje aplikacije ob zagonu ali po uporabi mora biti v skladu z ostalimi aplikacijami, ki so nameščene,
  • pričakujemo, da je aplikacija nameščena na določenem mestu na našem pogonu in da jo je mogoče zagnati z ikono, ki jo lahko dodamo na domači zaslon ali v opravilno vrstico,
  • vsekakor pričakujemo odzivno obnašanje na vse naše ukaze in
  • brez večjega pomisleka pričakujemo vsaj določeno funkcionalnost v primeru izgube povezave z internetom.

Beseda “namesti” nosi številna pričakovanja uporabnika, tudi če so ta pričakovanja povsem podzavestna.

Vrnimo se na sam začetek shranjevanja spletnih vsebin z uporabno zaznamkov. Zaznamki so univerzalni način shranjevanja, ki deluje na vseh napravah in vseh brskalnikih. Omogočajo nam, da se vrnemo na točno določeno mesto in nadaljujemo z delom. Zaznamki so na voljo v vseh večjih brskalnik od “približno 1500 let pred našim štetjem” in so tako dobro sprejet vedenjski vzorec uporabnikov spleta. Zakaj zaznamki ne zadostujejo več? Tako kot so mobilni telefoni spremenili vedenje v vsaki kavarni od pogovorov med prijatelji k pogovoru med prijatelji, ki ves čas bulijo v telefone, tako se spreminjajo navade o uporabi zaznamkov. Uporabniki mobilnih telefonov zaznamkov nikoli nismo vzljubili, kar podpirajo tudi statistike o uporabi. Morda je kriv neroden in nepregleden UI, a najverjetneje smo na mobilnih telefonih enostavno navajeni drugače dostopati do informacij.

Naslednji korak v evoluciji zaznamkov so gumbi “Dodaj to stran na domači zaslon”. Uporabniki mobilnega spleta ste jih verjetno že zasledili na novejših straneh. V trenutku tega pisanja besedna zveza “Dodaj na domači zaslon” lahko pomeni dve povsem različni stvari. Kot prvo lahko pomeni: dodaj zaznamek, torej povezavo do strani na domači zaslon in k temu zaznamku dodaj ikono. Drugi pomen ima besedna zveza za strani, ki spoštujejo PWA standard. V tem primeru besedna zveza predstavlja namestitev integrirane izkušnje na vašo napravo. Zaradi tega dvojnega pomena bomo za drugo razlago besedne zveze v nadaljevanju raje uporabili besedo “namesti”.

  • so prepoznane iz strani operacijskega sistema kot samostojne aplikacije, ki jih operacijski sistem ob zagonu prikaže v svojem oknu,
  • so dodane v operacijski sistem kot samostojno opravilo, zato je mogoče uporabljati menjavanje opravil oziroma preskakovanje med aplikacijami in operacijskim sistem si zapomni trenutno stanje aplikacije tudi ko ni v ospredju,
  • so integrirane v shemo nastavitev in dovoljen operacijskega sistema,
  • imajo dostop do funkcionalnosti operacijskega sistema, kakšnega ni mogoče doseči v brskalniku.

Hm, to je vse v redu in prav, ampak zakaj mora imeti na primer stran, na kateri tu in tam preverimo recept za palačinke dostop do funkcionalnosti operacijskega sistema? Odgovor je, da ga vsekakor ne rabi. Nameščanje na spletu ni za vsakega uporabnika spletne strani in uporabnik mora imeti možnost, da uporablja tako spletno izkušnjo, kot nameščeno aplikacijo brez omejite. Dobra izkušnja bi lahko predstavljala, da ponudimo gumb “namesti” samo obiskovalcem, ki se redno vračajo na našo spletno stran. Slabe izkušnje je mogoče zaslediti že povsod. Nemalo je strani, ki nas pozivajo k “Dodaj na domači zaslon” ali “Želite prejemati sistemska obvestila” še preden lahko sploh preverimo ali stran vsebuje vsebino, ki smo jo iskali. Velikokrat si predstavljam, da razvijalci, ki razvijajo takšne izkušnje, v prostem času hodijo po ulicah in mimoidoče neznance sprašujejo, če jih lahko pokličejo.

Do sedaj smo obdelali kaj in zakaj uporabljati namestitve v spletu. Sedaj je čas, da se lotimo vprašanja kako.

Stran, ki jo je mogoče namestiti mora:

  • vsebovati Web App Manifest, enostavno JSON datoteka, ki opisuje vašo stran: opis, barve, vstopno točko, ikone in druge lastnosti. V letu 2019 je že zelo dobro dokumentacijo za Web App Manifest. Navodila za pravilno dodajanje in strukturo manifesta na vašo stran lahko najdete na povezavi tukaj,
  • registrirati Service Worker. Service Worker je skripta, ki jo brskalnik zažene v ozadju in je ločena od vaše strani. Njena naloga je, da prestreže prošnje v omrežje od in do vaše strani in omogoči razvijalcem, da dodajo funkcinalnosti na podlagi prošenj. Tako lahko prestrežemo klic v omrežje po določeni vsebini in vsebino ponudimo iz berskalnikovega spomina, če smo vsebino seveda tam že predhodno shranili. Na tak način nismo vedno odvisni od internetne povezave. Service Worker omogoča številne prednosti o katerih lahko izveste več tukaj.

Strani, ki vsebuje omenjeni tehnologiji se z drugimi besedami reče progresivna spletna aplikacija ali PWA. In kakšna je trenutna podpora za PWA in namestitev med operacijskimi  sistemi?

Googlov Android je bil prvi operacijski sistem, ki je podpiral namestitev PWA in še danes ponuja najboljšo izkušnjo. Ob namestitvi Android ustvari lasten APK, kar omogoča spletni strani, da se obnaša kot aplikacija na ravni operacijskega sistema.  Android celo sam ponudi pasico za namestitev, če so izpolnjeni vsi pogoji strani, da je PWA, razen če to eksplicitno prepreči razvijalec.

Applov iOS prav tako podpira namestitve že od samega začetka. Vendar, kot je to v Applovem slogu, je ta podpora nekoliko drugačna od ostalih operacijskih sistemov. Morda te razlike izhajajo iz dejstva, da je iOS podiral namestitev spletnih strani še preden so nekatere tehnologije bile predložene spletnemu konzorciju kot spletni standard. Morda pa zaradi dejstva, ker je Appel rad vsaj nekoliko drugačen od ostalih. Vlogo Web App Manifesta prevzamejo meta tagi, ki jih je potrebno dodati v glavo HTML dokumentov. Service Worker je sicer podprt, vendar iOS-vo agresivno zapiranje aplikacij v ozadju velikokrat ustavi njegovo delovanje, itd.

Na računalnikih trenutno samo brskalnik Chrome podpira namestitev spletnih aplikacij. A z uporabo brskalnika Chrome je namestitev mogoča tako na Windows, MacOS, Linux in Chrome OS.

Namestitev spletnih strani je nova uporabniška izkušnja s številnimi prednostmi tako za uporabnike spleta, kot za razvijalce. Zgodnji primeri dobre prakse že kažejo pogostejšo uporabo in vračanje na strani, ki so si jih uporabniki namestili. Podpora za nameščanje se vsako leto izboljšuje in proizvajalci brskalnikov celo obljubljajo, de se bodo znebili konfuznega sporočila “Dodaj na domači zaslon” in bodo pričeli uporabljati besedo “Namesti”. Večja moč v rokah spletnih razvijalcev zahteva tudi večjo odgovornost. Namestitev mora biti prijetna izkušnja za obiskovalce in mora obogatiti njihov obisk. Nikar ne zlorabljamo besede “namesti” v spletu, če želimo dočakati dan, ko si bodo uporabniki z veseljem in popolnim zaupanjem nameščali naše spletne aplikacije.