React Native mobiilisovelluksen teknologiaksi
Blogi

3 syytä valita React Native mobiilisovelluksen teknologiaksi

Laura Tuppurainen
Laura Tuppurainen

Mobiilisovelluksen teknologian valinta vaikuttaa muun muassa projektin kokoon, kehittämiseen ja ylläpitoon tarvittaviin resursseihin sekä sovelluksen käyttäjäkokemukseen. Kyseessä on valinta, jolla on vaikutuksia pitkälle koko sovelluksen elinkaareen.

Mobiilisovellusta kehittäessä teknologian valinta on yksi olennaisimmista kysymyksistä joka tulee ratkaista siinä vaiheessa, kun sovellukselle asetetut tavoitteet ja tarpeet ovat tiedossa. Natiivisovelluksen ja PWA:n eli progressiivisen web-applikaation eroja käsittelimme edellisessä blogiartikkelissa. Perinteinen täysnatiivisovelluskehitys tunnetaan melko työläänä tapana kehittää sovelluksia, sillä jokainen käyttöalusta vaatii oman natiivikoodinsa. Toisaalta, vaikka PWA on monesti näppärä ja kevyt vaihtoehto natiiville, ei se tarjoa kaikkia natiivisovelluksen tarjoamia ominaisuuksia ja mahdollisuuksia.

Näiden kahden vaihtoehdon rinnalle on viime vuosina noussut vahvaksi vaihtoehdoksi sovellusten kehittäminen React Native -teknologialla. React Native on niin sanottu hybridiviitekehys, eli kirjasto, joka mahdollistaa natiivikäyttöliittymän ohjelmoimisen yleisesti käytetyssä JavaScript-ympäristössä. Meillä Sangrella React Native on lähtökohtaisesti aina teknologiavalinta silloin, kun tehdään natiivisovelluksia. 

Oletetaan, että olet jo tehnyt päätöksen että PWA ei ominaisuuksiltaan riitä - tarvitaan natiivisovellus. Miksi siis kannattaa valita juuri React Native mobiilisovelluksen teknologiaksi?
 

Ensiksi, mikä React Native tarkalleen ottaen on?

React Native on Facebookin kehittämä open-source viitekehys mobiilisovelluskehitykseen, joka pohjautuu selainympäristössä toimivaan React.js -viitekehykseen. Kun selainympäristössä React tuottaa selaimen ymmärtämän html-näkymän, niin vastaavasti React Native käyttää laitteen käyttöjärjestelmän tarjoamia komponentteja käyttöliittymän muodostamiseen. React Native tarjoaa selainympäristöistä tutun abstraktiotason natiivikehitykseen. Käytännössä ohjelmointi React Nativella ei siis koodin ulkoasun ja sisällön puolesta eroa juuri lainkaan selainympäristössä koodaamisesta. 

React Native -viitekehys julkaistiin ensimmäisen kerran vuonna 2015, ja se on jo muutamassa vuodessa kerännyt laajan kehittäjäyhteisön ja markkinaosuuden. Lista React Nativella toteutetuista sovelluksista on pitkä. Niistä tunnetuimpina mainittakoon mm. Facebook, Instagram, Pinterest, ja Uber. Tänä päivänä React Native on yksi suosituimmista mobiilisovelluskehitykseen käytetyistä teknologioista, ja se onkin monissa paikoin korvannut perinteisen täysnatiiviohjelmoinnin. 

React Native ei ole ainoa hybridiviitekehys. Historiallisesti hybridiviitekehyksissä käyttöliittymä on tuotettu selainympäristössä ja viitekehys on toiminut rajapintana laitteen muihin ominaisuuksiin, mikä on tehnyt natiivisovelluksen look-and-feelin saavuttamisesta haastavaa. Sittemmin React Nativelle on tullut varteenotettavia vaihtoehtoja, esimerkiksi Vue Native ja Nativescript, mutta React Nativen suosio ja laaja kehittäjäyhteisö ovat tehneet siitä Sangren valinnan.
 

Miksi siis valita React Native täysnatiiviohjelmoinnin sijaan?

1. Helpompi ja nopeampi kehittäminen tarkoittaa enemmän arvoa projekti-investoinnille

Lähes poikkeuksetta mobiilisovellukset tulee toteuttaa kahdelle yleisimmälle mobiilialustalle: iOS ja Android. Perinteisessä täysnatiiviohjelmoinnissa kummallekin alustalle täytyy kehittää oma sovelluksensa. React Native mahdollistaa sen, että sekä iOS- että Android-versiot sovelluksesta voidaan kehittää käyttäen pitkälti samaa JavaScript-codebasea. Kun voidaan rakentaa yksi sovellus kahden sijaan, ei tarvita erillisiä iOS- ja Android-tiimejä. React Nativella tehty sovellus vaatii vähemmän resursseja sekä kehittämiseen että ylläpitämiseen.

Vaikka React Native mahdollistaa lähestulkoon kaikki yleisimmät mobiilisovellusten ominaisuudet, ei se ihan täysin korvaa natiivisovellusten tehoa. Jos sovelluksen ominaisuudet sitä vaativat, React Native mahdollistaa myös natiivikoodin upottamisen. On huomattavasti nopeampaa ohjelmoida ainoastaan tarvittavat osat täysin natiivina, kuin koko sovellus.

React Nativella kehittäminen on perinteiseen täysnatiiviin verrattuna helpompi ja nopeampi tapa kehittää mobiilisovelluksia ilman, että joudutaan tekemään kompromisseja suorituskyvystä. Nopeampi kehittäminen tietenkin tarkoittaa enemmän arvoa rahalle mitä tulee projekti-investointiin.
 

2. Sujuva käyttäjäkokemus sitouttaa käyttäjät sovellukseen

Käyttäjälle olennaista on se, että valmis mobiilisovellus toimii nopeasti ja virheettömästi. React Nativella toteutetut sovellukset toimivat käytännössä lähes tulkoon yhtä saumattomasti kuin täysnatiivisovellukset. Vaikka React Native ei täysin vastaa natiivikehitystä suorituskyvyssä, sen tarjoamat edut ylittävät haitat. Hybridiviitekehysten saralla se on huomattava edistysaskel, tarjoten kehittäjille tutun ja intuitiivisen tavan toteuttaa käyttöliitymiä.

React Native pitää huolen siitä, että käyttäjäinteraktiot vastaavat alustakohtaisia käytäntöjä, eikä teknologia näin ollen aseta tarpeettomia rajoitteita käyttäjäkokemuksen suunnittelulle. Käyttäjälle sovellukset näyttäytyvät sujuvana ja tuttuna käyttökokemuksena.

Hyvä käyttäjäkokemus on olennaista sille, että käyttäjät sitoutuvat sovellukseen sekä brändiin joka sen tarjoaa, jotta sovelluksen käytöstä tulee tapa. Siten hyvä käyttäjäkokemus luo arvoa liiketoiminnalle.
 

3. Laaja kehittäjäyhteisön tuki pienentää riskiä teknologian vanhenemisesta

Teknologiavalintaa tehdessä on olennaista arvioida teknologian jatkuvuutta ja hallita riskiä siitä, että teknologia jossain vaiheessa vanhentuu. React Native on Facebookin kehittämä ja ylläpitämä teknologia. Vaikka toki on olemassa riski että React Nativen tuki jossain vaiheessa loppuisi, on se hyvin epätodennäköistä, sillä Facebook ja kehittäjäyhteisö parantavat teknologiaa jatkuvasti.

React itsessään on muuttanut käyttöliittymäkehitystä huomattavasti. Sen pohjalla oleva deklaratiivinen ohjelmointimalli sopii erinomaisesti käyttöliittymäkehitykseen tehden siitä nopeampaa ja virhesietoisempaa kuin puhdas täysnatiivikehitys. React Nativen käyttämä Javascript on yksi laajimmin käytetyistä ja suosituimmista ohjelmointikielistä maailmassa, ja tätä kautta React Native avaa pääsyn laajaan kehittäjäpooliin ja jatkuvasti kehittyvään ekosysteemiin.

Laajasta kehittäjäyhteisöstä on helppo löytää React Native -osaajia, ja ongelmatilanteisiin myös löytyy muilta kehittäjiltä helposti osaavaa tukea. Tämä yhdistettynä kasvavaan markkinaosuuteen tarkoittaa sitä, että tuskin näemme React Nativen voittokulun loppua lähivuosina.


Haluatko keskustella siitä, miten React Native sopisi sinun mobiilisovelluksesi kehittämiseen? Täytä sivun lopussa oleva yhteydenottolomake ja saat ilmaisen konsultoinnin projektistasi. Otamme sinuun yhteyttä kahden arkipäivän sisällä.

Kirjoittaja on Sangren sisältösuunnittelija ja projektituottaja, joka on tuottanut lukuisia sovellus- ja verkkosivuprojekteja asiakkaillemme startupeista markkinajohtajiin.

Jaa

Jutellaan siitä, miten voimme auttaa saavuttamaan tavoitteesi.

Jemmi Laaninen

Jemmi Laaninen

Business Development Manager
jemmi.laaninen@sangre.fi
+358 40 864 7800

Pakollinen kenttä
Pakollinen kenttä.
Ratkaise Captcha