Pistetäänkö mobiiliapplikaatio natiivisti vai cross-platformilla?
21.11.2019
Vinkit ja neuvot
Kun tavoitteena on toteuttaa mobiiliapplikaatio, onko valintasi cross-platform vai natiivi – vai kenties molemmat? Mobiiliapplikaatioita tarvitaan bisnesmaailmassa monista syistä, vaikka HTML-tekniikat kehittyvätkin jatkuvasti. Android-laitteiden osuus maailmanlaajuisesta puhelinlaitekannasta on noin 75 %, kun taas iOS-laitteita on 22 %. Yhdysvalloissa iOS johtaa markkinoita noin 55 % osuudella. Kun kehitetään mobiiliapplikaatiota, applikaatiot halutaan yleensä julkaista molemmille alustoille. Tämä tarkoittaa joko kahden erillisen applikaation tekemistä natiivikehitystyökaluilla tai crossplatform-työkalujen hyödyntämistä tehokkaasti.
Cross-platform vähentää työtä ja helpottaa ylläpitoa
Cross-platform -työkalu tarkoittaa ohjelmointikokonaisuutta, jossa yhdestä ohjelmakoodista saadaan usealle alustalle toimiva mobiiliapplikaatio. Erilaisia cross-platform -työkaluja on hurja määrä, aina hieman eri näkökulmasta toteutettuna. Lisää erilaisista näkökulmista crossplatformiin ja työkaluista, joita RockOnin porukka suosittelee ja valitsee, voit lukea tästä.
Kirkkaasti suurin hyöty cross-platform -kehityksessä on jatkuvasti toistuvan työn väheneminen natiiviin verrattuna. Eri työkaluilla toistuvan työn määrä vaihtelee edelleen merkittävästi, käytännössä vain julkaisutyöhön. Monesti cross-platform -työkaluilla kehitetyt applikaatiot on helpompia ylläpitää ja jatkokehittää, koska muutoksia voidaan hallita yhdessä eikä useassa kokonaisuudessa. Sama bugi korjataan yleensä vain kerran. Joissain tapauksissa muihin tarkoituksiin kirjoitettua ohjelmakoodia voidaan käyttää helpommin uudelleen helpommin cross-platform -työkaluilla kuin natiivisti kehitettynä. Esimerkkeinä vaikka oma Bluetooth-kirjasto tai liiketoimintalogiikkakirjastot.
Natiivi puoltaa paikkaansa alustakohtaisissa proggiksissa
Alustakohtaisella, natiivilla Android- ja iOS-kehityksellä on edelleen paikkansa. Natiivin applikaation kehitys voi olla järkevää, kun kehitetään sovelluksia, joissa käyttöliittymän on mukailtava täysin alustan tarjoamia kyvykkyyksiä. Tai jos halutaan täysin erilaiset käyttökokemukset alustasta riippuen. Työmäärän ero natiivin ja cross-platformin välillä kutistuu, jos kehitetään monimutkaista käyttöliittymää, jokaiselle alustalle sen vaativalla tavalla.
Jos applikaatiossa on paljon tarvetta puhelimen APIen käyttöön, natiivin applikaation kehitys on järkevää. Nykyään cross-platform -työkalut ovat kehittyneet siinä suhteessa valtavasti. Bluetooth, NFC ja maksaminen on toteutettu Xamarinissa suvereenisti. Toinen syy alustakohtaisen sovelluksen kehitykseen voi olla tarve vain yhdelle kohdealustalle. Esimerkikkinä teollisuuden tarpeisiin tehtävä applikaatio, joka asennetaan vain tietyille Android laitteille. Silloin cross-platform -kirjastoista ei välttämättä ole hyötyä.
Mustana hevosena PWA
Kolmas vaihtoehto samaan kysymykseen on Progressive Web Apps (PWA). Verkkoselaimet lisäävät itseensä ominaisuuksia mobiililaitteiden puolelta koko ajan enemmän ja enemmän. Tällä hetkellä kehityksen alla on Bluetooth ja NFC – rajapinnat selaimeen. Notifikaattien lähetys toimii jo lähes yhtä hyvin kuin varsinaisten mobiiliapplikaatioiden kanssa ja PWA applikaatiot toimivat myös ilman verkkoyhteyttä. Ne voidaan asentaa myös kotinäkymään appiksenomaisesti. Yleisesti PWA- applikaatiot toimivat alustariippumattomasti eri mobiililaitteilla ja tietokoneilla. Tämä voi laskea toteutuksen kustannuksia.
Maksullisen sisällön kanssa PWA-applikaatiot eivät ole sidoksissa App Storeen tai Play kauppaan. Niillä voidaan ohittaa tarkistukset ja kauppojen viemä provisio. Kuluttajille suunnatuissa sovelluksissa tämä voi olla sekä plussa että miinus. Jos halutaan, että sovellus löytyy ja näkyy sovelluskaupoissa, PWA ei ole oikea tie.
Toisena ongelmana on käyttäjien luottamuksen puute. Kuinka vakuuttaa kuluttajat applikaatioiden turvallisuudesta ja maksujen luotettavuudesta, kun ei ole kolmatta luotettua tahoa varmistamassa toteutuksen luotettavuus? Vielä tällä hetkellä kaikkia
mobiililaitteiden ominaisuuksia ei ole tuettuna tai varsinkaan täysin tuettuna. Integraatio natiivien applikaatioiden ja PWA-sovellusten välillä ei ole saumatonta.
Onko mobiiliapin kehitys edessä? Laita rockarit töihin niin saat parhaat työkalut ja ylivertaisen soundin. Take it or leave it – eli ota yhteyttä!