Kas gi yra tos PWA aplikacijos?
Jei manote, kad interneto svetainės ir mobiliosios aplikacijos yra dvi visiškai atskiros kategorijos, turiu jus nustebinti – jau seniai taip nėra. Progressive Web Apps, arba trumpiau PWA, yra tarsi tiltas tarp šių dviejų pasaulių. Tai technologija, leidžianti sukurti internetinę svetainę, kuri elgiasi kaip tikra mobilioji aplikacija.
Pirmą kartą apie PWA pradėta rimčiau kalbėti maždaug 2015 metais, kai Google inžinieriai pradėjo propaguoti šią koncepciją. Nuo to laiko technologija gerokai subrendusi, o šiandien PWA naudoja tokios kompanijos kaip Twitter, Starbucks, Uber ir net Forbes. Bet kodėl jos taip populiarios?
Esmė paprasta: PWA aplikacija veikia naršyklėje, bet turi visas pagrindines mobiliosios aplikacijos funkcijas. Galite ją „įsidiegti” į telefoną be App Store ar Google Play, ji veikia neprisijungus prie interneto, gali siųsti pranešimus ir net pasiekti kai kurias įrenginio funkcijas. Skamba įdomiai, tiesa?
Kodėl verslas renkasi PWA sprendimus
Kalbant apie verslo pusę, PWA aplikacijos turi vieną didžiulį privalumą – kainą. Vietoj to, kad kurti dvi atskiras aplikacijas (iOS ir Android), galite sukurti vieną PWA, kuri veiks abiejose platformose. O tai reiškia mažesnes kūrimo išlaidas ir paprastesnį palaikymą.
Paimkime realų pavyzdį. Indijos e-komercijos milžinė Flipkart sukūrė PWA versiją ir pamatė stulbinančius rezultatus: 70% padidėjęs konversijos rodiklis tarp vartotojų, kurie pridėjo aplikaciją į pradžios ekraną. Tinder taip pat sukūrė PWA versiją, kuri yra 90% mažesnė už tradicinę Android aplikaciją, bet įsikrauna vos per 4.69 sekundes.
Dar vienas svarbus aspektas – atnaujinimai. Tradicinės mobiliosios aplikacijos reikalauja, kad vartotojas atsisiųstų naują versiją iš parduotuvės. Su PWA viskas vyksta automatiškai – atsidarote aplikaciją ir jau turite naujausią versiją. Jokių „Prašome atnaujinti aplikaciją” pranešimų, jokio laukimo.
Be to, PWA aplikacijos neužima daug vietos telefone. Kai vidutinė mobilioji aplikacija sveria 50-100 MB ar net daugiau, PWA dažniausiai telpa į kelis megabaitus. Tai ypač svarbu rinkose, kur žmonės naudoja pigesnius telefonus su ribota atmintimi.
Techninė pusė: kaip tai veikia
Dabar truputį pasinerkime į techniką, bet pažadu – be perdėto sudėtingumo. PWA aplikacijos pagrindas yra trys pagrindiniai komponentai: HTTPS protokolas, Service Worker ir Web App Manifest failas.
Service Worker – tai JavaScript failas, kuris veikia fone ir tarsi tarpininkauja tarp aplikacijos ir serverio. Būtent jis leidžia aplikacijai veikti neprisijungus prie interneto, nes gali saugoti duomenis lokalioje talpykloje. Įsivaizduokite, kad skaitote naujienų portalą traukinyje, kur internetas nuolat dingsta – Service Worker užtikrina, kad jau įkrauti straipsniai liktų prieinami.
Web App Manifest – tai paprastas JSON failas, kuriame aprašote, kaip jūsų aplikacija turėtų atrodyti ir elgtis. Čia nurodote aplikacijos pavadinimą, ikonas, spalvas, orientaciją ir kitus parametrus. Būtent šis failas leidžia vartotojui „įsidiegti” jūsų svetainę į telefono pradžios ekraną.
„`html
{
„name”: „Mano Puiki Aplikacija”,
„short_name”: „MPA”,
„start_url”: „/”,
„display”: „standalone”,
„background_color”: „#ffffff”,
„theme_color”: „#000000”,
„icons”: […]
}
„`
HTTPS protokolas yra privalomas saugumo sumetimais. Service Worker turi prieigą prie daug jautrių funkcijų, todėl naršyklės leidžia jį naudoti tik saugiame kontekste. Šiais laikais HTTPS sertifikatai yra nemokami (ačiū, Let’s Encrypt), todėl tai neturėtų būti problema.
Realūs privalumai ir trūkumai
Pabūkime sąžiningi – PWA nėra tobula technologija, kuri išsprendžia visas problemas. Ji turi tiek privalumų, tiek apribojimų, ir svarbu juos suprasti prieš priimant sprendimą.
Didžiausi privalumai:
Pirma, kaip jau minėjau, kūrimo kaštai. Viena kodo bazė visiems įrenginiams – tai ne tik pigiau, bet ir greičiau. Jūsų komandai nereikia mokėti Swift iOS ir Kotlin Android kalbų, pakanka geros JavaScript žinių.
Antra, SEO. Kadangi PWA iš esmės yra internetinė svetainė, Google ir kitos paieškos sistemos gali ją indeksuoti. Tradicinės mobiliosios aplikacijos šito negali pasigirti – jos egzistuoja uždarame App Store ar Google Play ekosistemoje.
Trečia, nėra tarpininkų. Jums nereikia laukti, kol Apple ar Google patvirtins jūsų aplikaciją ar atnaujinimą. Nereikia mokėti 30% komisinių už mokėjimus per jų sistemas. Visa kontrolė jūsų rankose.
Pagrindiniai trūkumai:
iOS palaikymas vis dar nėra idealus. Nors situacija gerėja, Apple ilgą laiką ignoravo PWA technologiją ir tik neseniai pradėjo ją rimčiau palaikyti. Kai kurios funkcijos, kaip push pranešimai, iOS veikia ribotai arba visai neveikia.
Prieiga prie įrenginio funkcijų taip pat ribota. Nors galite naudoti kamerą, GPS, mikrofon ir kitas pagrindines funkcijas, sudėtingesni dalykai kaip Bluetooth, NFC ar kontaktų sąrašas dažniausiai nepasiekiami. Jei jūsų aplikacija turi integruotis su kitomis aplikacijomis ar naudoti specifines įrenginio funkcijas, PWA gali būti per ribotas pasirinkimas.
Našumas taip pat gali būti problema sudėtingoms aplikacijoms. Nors PWA veikia greitai, ji vis tiek veikia naršyklėje, o tai reiškia papildomą abstrakcijos sluoksnį. Žaidimams ar kitoms grafiškai intensyvioms aplikacijoms natyvus sprendimas dažniausiai bus greitesnis.
Kada rinktis PWA, o kada – natyvią aplikaciją
Tai klausimai, kurį man uždavinėja beveik kiekvienas klientas. Atsakymas, kaip ir daugeliu atvejų IT pasaulyje, yra: priklauso.
PWA puikiai tinka turinio platformoms – naujienų portalams, tinklaraščiams, e-komercijos svetainėms. Jei jūsų pagrindinis tikslas – parodyti informaciją ir leisti vartotojams atlikti paprastus veiksmus (skaityti, pirkti, užsisakyti), PWA bus puikus pasirinkimas. Twitter Lite yra puikus pavyzdys – tai PWA aplikacija, kuri veikia beveik taip pat greitai kaip natyvią, bet sveria daug mažiau.
Taip pat PWA puikiai tinka MVP (Minimum Viable Product) kūrimui. Jei norite greitai išbandyti idėją rinkoje be didelių investicijų, PWA leidžia tai padaryti efektyviai. Vėliau, jei projektas sėkmingas, visada galite sukurti natyvias aplikacijas.
Natyvias aplikacijas rinkitės, kai reikia gilios integracijos su įrenginiu. Jei kuriate fitness aplikaciją, kuri turi sinchronizuotis su Apple Health ar Google Fit, arba mokėjimų aplikaciją, kuri naudoja NFC – natyvus sprendimas bus vienintelis variantas.
Taip pat apsvarstykite savo tikslinę auditoriją. Jei jūsų vartotojai yra techniškai išprususti ir naudoja naujausias įrenginių versijas, PWA veiks puikiai. Bet jei jūsų auditorija naudoja senus telefonus ar yra konservatyvi (pavyzdžiui, vyresni žmonės), tradicinė aplikacija gali būti saugesnė lažybų.
Praktiniai patarimai PWA kūrimui
Jei nusprendėte kurti PWA, štai keletas patarimų iš asmeninės patirties, kurie padės išvengti įprastų klaidų.
Pradėkite nuo audito: Prieš pradedant kurti PWA, patikrinkite, ar jūsų dabartinė svetainė atitinka pagrindinius reikalavimus. Google turi puikų įrankį Lighthouse, kuris automatiškai patikrina jūsų svetainę ir pateikia rekomendacijas. Tiesiog atidarykite Chrome DevTools ir paleiskite Lighthouse auditą.
Optimizuokite našumą: PWA turi krautis greitai – idealiu atveju per 3 sekundes ar greičiau. Tai reiškia, kad turite optimizuoti paveikslėlius, minimizuoti CSS ir JavaScript, naudoti lazy loading. Pamenu projektą, kur vien paveikslėlių optimizavimas sumažino įkrovimo laiką nuo 8 iki 2.5 sekundės.
Gerai apgalvokite offline funkciją: Tai viena svarbiausių PWA savybių, bet ją reikia gerai suplanuoti. Kokie duomenys turėtų būti prieinami neprisijungus? Kaip elgtis, kai vartotojas atlieka veiksmus offline režimu? Vienas iš gerų sprendimų – saugoti paskutinius peržiūrėtus puslapius ir rodyti aiškų pranešimą, kai funkcija nepasiekiama be interneto.
Testuokite įvairiose naršyklėse: Tai skamba akivaizdžiai, bet nustebsite, kiek skirtumų yra tarp Chrome, Safari, Firefox ir Edge. Ypač atidžiai testuokite iOS Safari – jis dažniausiai kelia daugiausia problemų. Naudokite BrowserStack ar panašius įrankius, jei neturite fizinių įrenginių.
Nepamiršite analytics: Integruokite Google Analytics ar kitą analizės įrankį nuo pat pradžių. Svarbu stebėti, kaip vartotojai naudoja jūsų PWA – ar jie prideda ją į pradžios ekraną, kaip dažnai grįžta, kurios funkcijos populiariausios. Šie duomenys padės tobulinti aplikaciją.
Ateities perspektyvos ir naujos galimybės
PWA technologija nuolat tobulėja, ir tai, kas buvo neįmanoma prieš metus, šiandien jau realybė. Pavyzdžiui, Web Bluetooth API leidžia PWA bendrauti su Bluetooth įrenginiais, Web NFC API atidaro duris NFC funkcionalumui, o WebAssembly leidžia pasiekti beveik natyvų našumą.
Viena įdomiausių naujovių – Fugu projektas (anksčiau žinomas kaip Project Fugu). Tai Google, Microsoft ir Intel iniciatyva, kuri siekia suteikti web aplikacijoms prieigą prie visų įrenginio funkcijų, kurias turi natyvios aplikacijos. Jau dabar galite naudoti File System Access API darbui su failais, Web Share API dalijimosi funkcionalumui, ir daug kitų API.
Įdomu tai, kad net Microsoft dabar aktyviai palaiko PWA. Windows 11 leidžia įdiegti PWA aplikacijas tiesiog iš Edge naršyklės, ir jos atrodo bei veikia kaip tikros Windows programos. Galite jas rasti Start meniu, jos gali turėti savo langus ir net veikti fone.
Apple, nors ir lėčiau, taip pat juda teisinga kryptimi. iOS 16.4 versijoje pridėta daug naujų PWA funkcijų, įskaitant geresnius pranešimus ir didesnę talpyklos vietą. Tikėtina, kad ateityje atotrūkis tarp iOS ir Android PWA galimybių mažės.
Dar viena įdomi tendencija – PWA ir desktop aplikacijos. Electron framework, kuris naudojamas tokioms aplikacijoms kaip VS Code, Slack ar Discord, iš esmės yra web technologijos, supakuotos į desktop aplikaciją. PWA leidžia pasiekti panašų rezultatą be papildomo supakavimo – tiesiog atidarote aplikaciją naršyklėje, ir ji veikia kaip atskira programa.
Kai technologija sutinka realybę
Baigdamas noriu pasakyti, kad PWA nėra magiškas sprendimas, kuris tinka visiems. Tai įrankis, ir kaip bet kuris įrankis, jis turi savo vietą ir paskirtį. Jei jūsų projektas reikalauja maksimalaus našumo, gilios integracijos su įrenginiu ar sudėtingos grafikos, natyvios aplikacijos vis dar bus geresnis pasirinkimas.
Bet daugeliui projektų – ypač tiems, kurie orientuoti į turinį, e-komerciją ar paprastus servisus – PWA siūlo puikų balansą tarp funkcionalumo, kainos ir priežiūros paprastumo. Galite pasiekti vartotojus visose platformose su viena kodo baze, nereikia kovoti su App Store aprobavimu, ir turite visišką kontrolę.
Svarbu suprasti, kad pasaulis juda link web technologijų. Naršyklės tampa galingesnės, API – platesnės, o vartotojai – lankstesni. Jaunesnės kartos žmonės vis mažiau skiria dėmesio tam, ar tai „tikra” aplikacija, ar PWA – jiems svarbu, kad veiktų greitai ir patogiai.
Tad jei dar netyrinėjote PWA galimybių savo projektui, dabar puikus laikas pradėti. Pradėkite nuo mažo – galbūt tiesiog pridėkite manifest failą prie esamos svetainės ir pamatykite, kaip ji atrodo įdiegta į pradžios ekraną. Paskui pridėkite Service Worker baziniam offline palaikymui. Žingsnis po žingsnio, ir prieš tai pastebėsite, jūsų svetainė taps visaverčia aplikacija, kuri veikia visur ir visiems.
