Kun olet löytänyt tiesi tähän blogikirjoitukseen, olet luultavasti kuullut jostain termin PWA. Hyvä sinulle – PWA:t ovat se, mistä vuosi 2018 tullaan muistamaan, joten olet aivan kärryillä. Kuinka jännittävää! Tässä blogikirjoituksessa selitän, mitä termi oikeastaan tarkoittaa ja miksi sinun pitäisi välittää siitä.
(lähde: Googlen kehittäjäsivusto)
Mikä on PWA?
PWA on lyhenne sanoista Progressiivinen web-sovellus. Tarkastellaan sitä jakamalla se kahteen osaan. Kaksi jälkimmäistä sanaa (”Web Application”) puhuvat puolestaan. PWA:t ovat verkkosovelluksia. Web-sovellus tarkoittaa tässä yksinkertaisesti sovellusta, joka toimii verkkosivustona, kuten esimerkiksi Twitter. Termin ensimmäinen osa – progressiivinen – tarkoittaa, että käyttäjäkokemusta parannetaan asteittain selaimen kykyjen mukaan. Pohjimmiltaan tämä tarkoittaa, että verkkosovellus toimii hyvin vanhemmissa selaimissa, mutta se voi hyödyntää uudempia tekniikoita käyttökokemuksen parantamiseksi, jos käyttäjä käyttää niitä tukevaa selainta. Kuulostaa yksinkertaiselta, eikö? Mistä termi sitten on peräisin?
Progressiivinen tarkoittaa, että käyttäjäkokemusta parannetaan asteittain selaimen kykyjen perusteella
Termin esitteli Google Chromen insinööri Alex Russell blogikirjoituksessaan vuonna 2015. Siitä lähtien Google on edistänyt niiden käyttöä aktiivisesti ja tarjonnut aiheesta paljon resursseja, kuten sivuston, jossa niitä selitetään tarkemmin.
PWA:iden ympärillä esitelmiä pitäessäni törmään tässä vaiheessa aina samaan hämmennykseen. ”Niin… Onko se siis teknologiaa? Onko se standardi? Onko se jotain Googlen omistamaa/patentoimaa?” Ei, ei mikään näistä. Se on yksinkertaisesti termi, joka kuvaa tiettyä tapaa suunnitella ja rakentaa sovelluksia. Seuraavaksi yritetään ymmärtää, mitä ne ovat käymällä läpi ominaisuudet.
Tässä ovat Alex Russellin kirjoittamat alkuperäiset 9 PWA:n ominaisuutta ja selitys siitä, mitä ne tarkoittavat tässä yhteydessä:
- Responsive: Sivu näyttää hyvältä eri näytön koossa (esim. puhelin, tabletti, työpöytä)
- Yhteydestä riippumaton: Toimii ilman Internet-yhteyttä
- Sovelluksen kaltaiset vuorovaikutukset: Natiivin sovelluksen ulkoasu
- Uusi: Aina ajan tasalla
- Turvallinen: Hyödyntää suojattua yhteyttä monentyyppisten tietoturvauhkien lieventämiseksi
- Havaittavissa: Selaimet tunnistavat PWA:t automaattisesti
- Uusiokäyttöinen: Voi tuoda käyttäjät takaisin sovellukseen esimerkiksi Push-ilmoitusten avulla
- Asennettavissa: Voidaan tallentaa aloitusnäyttöön kuten natiivisovellukset, mutta ilman App Storen aiheuttamaa ylimääräistä vaivaa
- Linkitettävissä: Voidaan jakaa ympäriinsä tavallisina URL-osoitteina
Tämän blogikirjoituksen lukijalle tärkeimmät toiminnallisuudet ovat:
- Asennettavuus aloitusnäyttöön
- Käyttöoikeus useisiin natiiviin API:iin, kuten kameraan, geopaikannukseen, tärinään, maksuihin jne.
- Tuki Push-ilmoituksille
- Offline-käyttö
- Tuki täydelle näytölle ja aloitusnäytölle
(lähde: Alex Russellin blogipostaus)
Johtopäätöksenä kaikista edellä mainituista asioista voidaan todeta, että PWA:t pystyvät suurimpaan osaan natiivien sovellusten tarjoamista mahdollisuuksista ja kuilu natiivien sovellusten ja web-sovellusten tarjoamien mahdollisuuksien välillä kaventuu koko ajan.
Miksi nyt?
Tässä vaiheessa saatat ajatella, että tämä kaikki kuulostaa niin hyvältä, että siinä täytyy olla jokin juju, koska PWA:t eivät ole oletusarvoinen tapa toteuttaa sovelluksia. Kyllä, olet oikeassa. On olemassa jokin juju. Joissain ympäristöissä ei ole ollut tukea PWA:t mahdollistaville teknologioille. Android-tuki on ollut olemassa jo jonkin aikaa, alkaen Android 5:stä, mikä tarkoittaa, että yli 80 % (lähde: Googlen Android-tilastot) maailman Android-laitteista tukee PWA:iden toteuttamiseen tarvittavia teknologioita. Käyttöönotto on vielä suurempaa, jos tarkastellaan vain Eurooppaa tai Pohjois-Amerikkaa. Android-tuki on siis jo nyt todella hyvä.
Valitettavasti toinen keskeinen toimija, joka jakaa matkapuhelinmarkkinat, ei ole ollut kovin innokas ottamaan teknologioita käyttöön (lue miksi). iOS-tuki on puuttunut, mikä on estänyt PWA:iden laajemman käyttöönoton. Mutta pian tulevasta iOS 11.3:sta alkaen tuki on saatavilla myös iOS:lle. Onneksi uusien iOS-versioiden käyttöönotto on suhteellisen nopeaa, joten tuen voidaan olettaa olevan saatavilla myöhemmin tänä vuonna. Vertailun vuoksi mainittakoon, että versiot 10 ja 11 edustavat Applen mukaan 93 prosenttia kaikista käytössä olevista iOS-versioista.
Vaikka PWA:ista puhuttaessa keskitytään usein mobiiliympäristöön, ne toimivat myös työpöydällä. Aiemmin tässä kuussa Microsoft antoi tärkeän ilmoituksen, jonka mukaan Edge ja Windows 10 tukevat nyt PWA:ta. Chrome ja Firefox tukevat PWA:ta jo nyt, ja niin myös työpöydän Safarin seuraava versio.
Esimerkki: Twitter Lite
Tunnetuin esimerkki PWA:sta on Twitterin PWA-versio nimeltään Twitter Lite (kokeile sitä Androidilla tai työpöydällä osoitteessa mobile.twitter.com). Twitter on myös julkaissut perustelut PWA-version rakentamiselle. Korostaakseni joitakin faktoja postauksesta, verrattuna heidän natiivisovellukseensa, PWA-version koko on vain 1-3 % ja keskimääräinen latausaika on 30 % lyhyempi.
Muita tunnettuja esimerkkejä PWA-versioista ovat Forbes, Trivago, Washington Post, Telegram, Alibaba ja viimeisimpänä Google Maps Go. Saatavilla on myös PWA-hakemisto.
Johtopäätökset
Vuodesta 2018 odotetaan PWA:iden vuotta. Työkalut ovat jo loistavalla tasolla ja PWA:ita ilmestyy koko ajan lisää. Kun tuki iOS:ssä on hyvin saatavilla, PWA:ista tulee realistinen vaihtoehto natiivisovelluksille. Jos harkitset, ovatko PWA:t oikea valinta sinulle, palaa pian asiaan, sillä kirjoitan oppaan aiheesta Pitäisikö minun tehdä PWA natiivisovelluksen sijaan?
Goforella on jo kokemusta PWA:ista, ja sillä on myös laajaa kokemusta responsiivisten, hyvännäköisten, offline-lähtöisten ja tehokkaiden verkkosovellusten rakentamisesta. Tarvitsitpa sitten apua PWA:n arkkitehtuurivalinnoissa, suunnittelussa tai toteutuksessa, älä epäröi ottaa meihin yhteyttä.
LISÄTIETOJA GOFORE BLOGISTA
Agile Transformation in Action – Osa 1
Agile Transformation in Action – Osa 2
Mitä järkeä on skaalautua ketterästi