Internetin sisältöjen ja palveluiden käyttö mobiililaitteilla kasvaa vuosi vuodelta. Sosiaalinen media, verkko-ostaminen ja pankkipalvelut kännykällä kuuluvat jokapäiväiseen elämäämme. Jokaisen yrityksen, järjestön ja julkisen sektorin organisaation on huomioitava verkkopalveluidensa käytettävyys mobiilissa.
Verkkopalveluiden suunnittelussa on jo pitkään menty mobiili edellä. Jokainen nykyaikainen nettisivusto on responsiivinen. Milloin kannattaa harkita erillisen mobiilisovelluksen toteuttamista?
Ota huomioon ainakin nämä kolme aihetta, kun mietit mobiilisovelluksen kehittämistä:
1. Kohderymien ymmärtäminen ja asiakaskokemuksen parantaminen: tunne mitä nykyiset ja uudet asiakkaasi odottavat palvelukokemukseltaan. Voitko helpottaa ostamista, asiointia tai sitoutumista heihin kehittämällä mobiilisovelluksia.
2. Tekninen kokonaisuus: Appeja ei kannata rakentaa niiden itsensä vuoksi, vaan mobiilisovelluksen on oltava tuottava osa organisaation digistrategiaa ja it-arkkitehtuuria. Käytä olemassa olevaa dataa ja liitä mobiilisovellus osaksi kokonaisarkkitehtuuria. Kun suunnittelet uutta, pidä mobiilikäytön skenaariot mielessä.
3. Liiketoimintaprosessien tuki: mitä toimintoja voimme tehostaa ja kenties korvata kehittämällä mobiilisovelluksia. Mobiilisovellukset tukevat parhaimmillaan liiketoiminnan prosesseja ja parantavat organisaation sisäistä työpäiväkokemusta.
Mediasignal auttaa sinua valitsemaan oikean mallin mobiilikehitykselle. Alla käymme läpi tulevaisuutta kestävät tavat suunnitella ja toteuttaa mobiilisovelluksia.
Natiivi mobiilisovellus — alustakohtainen toteutus eri laitteille
Natiivisovelluksella tarkoitetaan applikaatioita, jotka on toteutettu käyttäen alustakohtaisia ohjelmointikieliä. Sekä iOS että Android -alustoilla on nykyään useita tuettuja kieliä, mutta yleisimmin iOS-natiiviapplikaatiot toteutetaan Applen omalla Swift-kielellä ja Android-sovellukset toteutetaan Java-pohjaisilla kielillä. Sovelluksissa, joissa on erityistarpeita (esim. pelit) voi kielivalinta kuitenkin olla jokin ihan muu.
Natiivisovellusten etu on myös niiden heikkous: applikaatiot tehdään aina alustakohtaisesti, jolloin sovellus pitää tehdä erikseen molemmille alustoille, joka voi nostaa työmäärän moninkertaiseksi verrattuna katsauksemme muihin vaihtoehtoihin. Natiivisovelluksen selkeimpiä hyötyjä ovat parempi suorituskyky sekä tuki kaikille laitepohjaisille natiiviominaisuuksille (esim. paikannus, kamera, puheentunnistus). Kaiken kaikkiaan natiivitoteutustapa antaa lähes loputtomat mahdollisuudet räätälöidä ja hienosäätää sovellusten toimintalogiikkaa, mutta tämä vapaus näkyy selkeästi korkeampina kehityskustannuksina.
Natiiviapplikaatioiden kustannustaso: suuri projekti, työmäärä 6 henkilötyökuukaudesta kymmeniin henkilötyökuukausiin.
Natiiviapplikaatioiksi käännettävä sovellus — yhden ohjelmointikielen toteutus
Facebookin kehittämän React Native -kirjaston nousu on tuonut mahdollisuuden toteuttaa mobiiliapplikaatioita entistä ketterämmillä teknologioilla. React Native on mobiiliapplikaatioiden kehittämiseen tarkoitettu sovelluskehys eli framework, jossa frameworkilla toteutettu sovellus käännetään natiiviksi applikaatioksi sekä Android- että iOS-alustoille.
Ihannetilanteessa saadaan yhtenäisellä koodipohjalla toteutettua sovellus molemmille alustoille siten, että se noudattaa molempien alustojen graafista ilmettä ja käyttöliittymän toiminnallisuuksien ohjeistuksia. Tällä tavalla toteutetussa sovelluksessa esimerkiksi sovelluslogiikkaan tehtävät muutokset täytyy tehdä vain framework-toteutukseen, eikä erikseen molemmille alustoille. Tämä pienentää erittäin paljon kehityskustannuksia.
React Nativen ja muiden vastaavien frameworkien (esim. Nativescript) käytön suurimpia etuja ovat erittäin hyvä suorituskyky, mahdollisuus käyttää laitepohjaisia natiiviominaisuuksia, helppo laajennettavuus ja ylläpidettävyys sekä selvästi natiivisovelluksia alhaisemmat kehityskustannukset.
Natiivisovellukseksi käännettävät sovellukset soveltuvat lähes kaikkiin mobiilisovellustarpeisiin, joissa sovellus halutaan julkaista sovelluskaupoissa kuluttajille tai B2B-käyttäjille.
React Native -applikaation kustannustaso: keskikokoinen projekti, työmäärä alk. 3 henkilötyökuukautta.
PWA-sovellus — selainpohjainen toteutustapa
PWA-sovelluksilla (Progressive Web Application) tarkoitetaan puhtaasti web-teknologioilla toteutettavia applikaatioita, joiden tarjoamat mahdollisuudet ovat laajentuneet siten, että myös PWA-applikaatioita on mahdollista julkaista Androidin Play Storessa ja niiden käyttäytyminen on laitteissa muutenkin lähempänä applikaatiota kuin web-sivua. Mikäli PWA-sovelluksen haluaa julkaista myös iOS:n App Storessa, täytyy sovellus paketoida hybridi sovellukseksi, joka lisää hieman kehityskustannuksia.
PWA-sovelluksia voi kuitenkin käyttää molemmilla alustoilla ilman, että niitä julkaistaan erikseen sovelluskaupoissa. PWA-sovellukset soveltuvatkin parhaiten sisäiseen käyttöön tai pienille kohderyhmille toteutettaviin sovelluksiin, joissa tärkeintä on minimoida kehityskustannukset.
PWA-sovelluksen etuna on se, että kyseessä on täysin puhdas web-sovellus, joka toimii mahdollisimman samankaltaisesti kuin normaalit mobiilisovellukset. Sovelluksen kehittämisessä voidaan hyöyntää laajasti valmiita moduuleja ja kirjastoja, jolloin kehitystyön kustannustaso pysyy kohtuullisena.
PWA-applikaation kustannustaso: nopea projekti, työmäärä alk. 1 henkilötyökuukautta.
Toteutustavan valinta määräytyy sovelluksen ominaisuuksien ja käytettävän budjetin perusteella
Kaikilla ylläkuvatuilla malleilla saadaan tehtyä erittäin toimivia ratkaisuja, projektia käynnistettäessä on kuitenkin syytä ymmärtää teknologiavalintojen vaikutukset.
Tämän takia tulee ensimmäisenä kartoittaa ja määritellä riittävällä tarkkuudella sovelluksen ja kohderyhmän tarpeet sekä toteutukselle käytettävissä oleva budjetti. Määrittelyn perusteella saadaan koottua tekniset vaatimukset ja verrattua näitä vaatimuksia toteutusvaihtoehtojen tarjoamiin mahdollisuuksiin. Tämän määrittelyvaiheen jälkeen voidaan tehdä päätös toteutustavasta.
Toteutusteknologiasta riippumatta jokaisessa toteutustavassa tärkeintä on, että sovelluksen suunnittelussa ja toteutuksessa lähdetään liikkeelle hyvän käyttökokemuksen rakentamisesta käyttöympäristö ja käyttäjäkohderyhmät edellä.