Blog / #tech

Miten valita sovellukselle oikea toteutustapa – perustietoa teknologiaviidakosta

Mobiilisovelluksille ei ole koskaan ollut yhtä paljon vaihtoehtoisia toteutustapoja kuin nyt. Teknisten ratkaisumallien ylitarjonta voi helposti sekoittaa asiaan perehtymättömän ja joskus hiukan perehtyneemmänkin.

Taisteella pohdimme päivittäin teknologiaviidakon tarjontaa suunnitellessamme asiakkaillemme parasta mahdollista kosketuspintaa mobiilimaailmaan. Kokosin siksi tähän blogipostaukseen paketin perussanastoa, joka auttaa ymmärtämään, mitä yleisimmät toteutustavat pitävät sisällään ja miten ne suhteutuvat toinen toisiinsa.

HTML5-websovellus

Nettitekniikoihin perustuvat ja mobiililaitteen selaimella käytettävät HTML5- sovellukset ovat vahvasti osa monen arkipäivää – ilmeisinä esimerkkinä Facebook ja Youtube -sivustojen mobiiliversiot. Mobiilisovellusten ruutukokojen erot tulevat vahvasti esiin HTML5-sovelluksia tehdessä ja etenkin monimuotoisten Android-laitteiden selaimien kyvyt ja ruutukoot vaihtelevat huomattavan paljon. Tämä tarkoittaa käytännössä sitä, että palvelun testaukseen erilaisilla laitteilla on käytettävä paljon aikaa. Toisaalta HTML5-sovellukset on helppo julkaista ilman kolmansien osapuolien, kuten Applen tai Googlen hyväksyntää. Palvelimelle sijoitettua sovellusta voi muokata lennosta antaen mahdollisuuden tehdä nopeita kuluttajakokeiluja, testausta ja korjauksia.

Hybridisovellus

HTML5:n lyödessä itseään räiskyvästi läpi nettisivujen maailmassa on mobiilisovellusten luomiseen koitettu kehittää uusia halvempia tapoja.

 

Jos ohjelman joutuu kirjoittamaan vain kerran, säästyy rahaa ja resursseja huomattavasti. HTML5-sovellukset ovat kohtuullisen nopeasti paketoitavissa selaimilla käytettävistä nettisivuista mobiililla toimiviksi sovelluksiksi.

Ominaisuusrikkaiden sovellusten vaatimukset ovat kuitenkin tehneet mobiilille sijoittuvien HTML5-sovellusten rakentamisesta verrattain raskasta: Web-teknologiat on venytetty niille sopimattomaan muottiin ja ne sisältävät paljon ylimääräisiä kerroksia. Nämä sovellukset eivät yllä samantasoisiin suoritusnopeuksiin natiiviserkkujensa kanssa, ja esimerkiksi kameran käyttöönotto voi tuntua verkkaiselta.

Natiivisovellus

HTML5-sovellukset eivät voi hyödyntää laitteen täysiä tehoja, joten HTML5-sovelluksen ulkoasu ja sulava toimivuus voi jättää toivomisen varaa. Natiivisovellus on sitä vastoin toteutettu käyttäen alustan omia työkaluja ja tekniikoita. Näin kehittäjät voivat ottaa kaiken irti alustasta ja tehdä käyttäjäkokemuksesta askeleen sujuvamman. HTML5-sovellus voi pätkiä kovan rasituksen alla ja 3D-mallien esittely on kankeaa. Tämän vuoksi esimerkiksi pelisovellukset ja raskaita graafisia elementtejä vaativat toteutukset kannattaa toteuttaa natiivina.

Monialustasovellus

Natiivisovellus on helposti kallis sijoitus erityisesti siinä tapauksessa, että sovelluksen koodi kirjoitetaan usealle alustalle niiden omalla ohjelmointikielellä. Natiivisovellukset voidaan kuitenkin toteuttaa myös monialustasovelluskehyksillä. Ne mahdollistavat sen, että merkittävän osan sovelluksesta voi käyttää uudelleen eri laitealustoilla. Näin säästetään suuri osa työresursseista tuotteen viilaukseen. Tällaisia kehyksiä ovat esimerkiksi aikaisemmassa kirjoituksessamme käsitelty Xamarin ja Qt. Sovelluskehykset muuttavat kirjoitetun sovelluksen alustan luontaisella ympäristöllä toimivaksi paketiksi mahdollistaen natiivitason suoritusnopeuden.

Tiivistys

Mobiilisovellusta suunniteltaessa on sekä asiakkaan että toimittajan hyvä tietää, minkälaisia valintoja teknologiat vaativat. Erityisen tärkeää on se, että teknologiaviidakon ammattilaisilla on vahva tietämys ja kokemus kyseisistä teknologioista, jotta he voivat tehdä ratkaisuja, jotka palvelevat parhaiten juuri tekeillä olevaa sovellusta. Samaa ammattitaitoa tarvitaan myös kustannustehokkuuden arviointiin, mikä on eri teknologioita vertaillessa usein hyvin tapauskohtaista. Esimerkkinä: natiivisovellusten teko voi vaikuttaa kalliilta ja helposti voidaan päätyä ajattelmaan, että kotisivujen tekoon käytetyt resurssit voitaisiin ottaa hyötykäyttöön käyttämällä samaa pakettia myös mobiilisovelluksessa. Usein kotisivujen käyttö mobiilisovelluksena vaatii kuitenkin merkittävän määrän räätälöintiä muodossa tai toisessa.

Rakennetaan yhdessä jotain hienoa!

Oscar Salonaho

Toimitusjohtaja

045 262 4920

oscar@taiste.fi

Tuomas Jalamo

Viestintäpäällikkö

044 295 7710

tuomas@taiste.fi

Työpaikat

working@taiste.fi

Yleiset asiat

whatsup@taiste.fi