Blogi

Pistetäänkö mobiiliapplikaatio natiivisti vai cross-platformilla?

Bisnesmaailmassa mobiiliapplikaatioita tarvitaan monestakin syystä, vaikka html-tekniikat kehittyvät koko ajan. Maailmalla Android-laitteita on noin 75% koko puhelinlaitekannasta ja iOS-laitteita 22%. Rapakon takana iOS johtaa USA:n markkina-alueella noin 55% osuudella. Kun kehitetään mobiiliapplikaatiota, halutaan yleensä julkaistavat applikaatiot molemmille alustoille. Silloin on tehtävä kaksi erillistä applikaatiota natiivikehitystyökaluilla tai otettava cross-platform -työkaluista kaikki irti.

Crossilla vähemmän työtä ja helpompaa 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äkykulmista cross-platformiin ja työkaluista 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.

Takaisin blogiin