One Shoe logo

5 Redenen waarom React-Native en Expo zo geschikt zijn voor de ontwikkeling van bedrijfsapps

In dit artikel leggen we uit waarom React-Native een fantastische mogelijkheid is om efficiënt, goed presterende iOS- en Android-apps te maken.

Jordy van Raaij | 16 jan 2018

Een aantal maanden geleden werden we door LeadingCourses.com gevraagd een app te bouwen voor zowel Android- als IOS-apparaten waarmee golfers betrouwbare, actuele informatie konden ontvangen over greenfees en golfbanen overal ter wereld. Maar in plaats van meteen onze ontwikkelaars voor mobiele apps aan het werk te zetten, bedachten we een solide ontwikkeloplossing waarvan LeadingCourses op verschillende manieren zou kunnen profiteren: we adviseerden LeadingCourses de app te bouwen met React-Native en Expo.

In dit artikel leggen we uit waarom React-Native een fantastische mogelijkheid is om efficiënt, goed presterende iOS- en Android-apps te maken.

Wat is React-Native?

React-Native is een programmeertaal waarmee ontwikkelaars platformoverschrijdende mobiele apps kunnen bouwen met behulp van JavaScript. Met React-Native kan een app één keer worden ontwikkeld en vervolgens worden geïmplementeerd op zowel iOS als Android. De apps worden weliswaar geschreven in JavaScript, maar gebruiken de systeemeigen functies van het apparaat. Dit houdt in dat de app eruitziet en presteert zoals je gewend bent van het eigen platform. Hiervoor worden deze functies gecombineerd met JavaScript. De apps zijn volledig systeemeigen en presteren daarom altijd goed.

React-Native is ontwikkeld door Facebook en wordt gebruikt door grote (technologie)bedrijven als Walmart, Instagram, Airbnb, Tesla en UberEATS. Dankzij de grote community achter React-Native wordt het platform elke dag verder ontwikkeld.

Wat is Expo?

Expo is een gratis opensourcetoolchain rond React-Native om ontwikkelaars te helpen systeemeigen iOS- en Android-apps te bouwen. Naast React-Native bevat de toolchain OTA-updates (Over The Air), gereedschap voor eenvoudig bouwen en een hele reeks extra API's

Vijf voordelen van React-Native en Expo ten opzicht van native mobile app development

1. React-Native biedt vanaf het begin ondersteuning voor zowel iOS en Android

Terwijl bij de traditionele ontwikkeling van een iOS-app (Swift) en Android-app (Java) twee apps vanaf nul moeten worden opgebouwd, maakt React-Native het voor ontwikkelaars mogelijk om tegelijkertijd vanuit één codebase apps te ontwikkelen voor zowel het iOS- als het Android-platform.

Hiermee bespaar je veel tijd tijdens het ontwikkelen van de apps. Bovendien wordt het onderhoud van de apps goedkoper en gestroomlijnder omdat de ontwikkelaars niet twee keer hetzelfde werk hoeven te doen. Voor beide platforms kan ten minste 90% van de codebase worden gedeeld (afhankelijk van de functionaliteiten van de app).

2. Monitor het ontwikkelproces van je app direct met Expo-gereedschap

Als je de voortgang van de ontwikkeling van je app wilt volgen of nieuwe functies wilt laten testen, moet je normaal gesproken wachten op een demopresentatie van de ontwikkelaars, een TestFlight-simulatie (iOS) of een volledig ontwikkelde Android-app. Dit proces kost tijd en biedt weinig transparantie voor het volgen van de status van je app.

Met de Expo-app (voor zowel iOS als Android) kun je nu tijdens het bouwen van de app de voortgang volgen en nieuwe functies testen. Ontwikkelaars kunnen nieuwe versies van de app publiceren die vervolgens via de Expo-app beschikbaar stellen op je eigen apparaten. Zo kun je veel eenvoudiger functies testen op meerdere apparaten en kun je de app overal testen waar je maar wilt. Met deze gestroomlijnde testmethode kun je al in een vroeg stadium feedback geven en zo de kwaliteit van de functies verbeteren terwijl de app nog wordt gebouwd

3. Bespaar kostbare tijd tijdens het maken van productiebuilds

Als je je nieuwe app wilt publiceren in de Apple App Store en Android Play Store moet je deze app normaal gesproken configureren en genereren via Apples Xcode en Android Studio-software. Dit proces vereist veel configuratie en tijd van de ontwikkelaars.

Als je ervoor kiest de app te laten bouwen met React-Native en Expo, kunnen ontwikkelaars met het Expo-gereedschap met één enkel configuratiebestand zelfstandige iOS- en Android-builds maken. Met een enkele opdracht kunnen ze Expo het zware werk laten doen door het de nieuwe builds voor zowel iOS als Android te laten genereren. Dit proces kost minder tijd. Deze tijd kan vervolgens worden besteed aan het ontwikkelen van nieuwe functies voor je app. Zo krijg je meer waar voor je geld.

4. Publiceer updates voor je apps sneller

Als je app eenmaal is gepubliceerd in de Apple App Store en Android Play Store, wil je waarschijnlijk nieuwe functies toevoegen en functionaliteiten verbeteren. Normaal gesproken moet hiervoor de hele buildvoortgang opnieuw worden doorlopen en moeten bijgewerkte versies van je apps naar de app-stores worden geüpload. Vervolgens kan goedkeuring door Apple of Android veel tijd in beslag nemen. Daarna moeten de bijgewerkte apps handmatig worden hergeïnstalleerd door je gebruikers.

React-Native en Expo bieden het voordeel dat updates voor je apps sneller ontwikkeld en gepubliceerd kunnen worden. Dit vindt plaats via OTA-updates (Over The Air). Als een update gereed is voor productie kun je de functie eenvoudig publiceren. Expo minimaliseert de code voor de update en uploadt deze naar Amazon S3. De nieuwe update wordt asynchroon gedownload terwijl de gebruiker de app gebruikt. Dit houdt in dat de update beschikbaar is voor de gebruiker zodra deze de app de volgende keer start. De app hoeft dus niet handmatig via de store te worden bijgewerkt. Dit bespaart veel tijd en maakt het ontwikkelen en publiceren van updates voor de app een fluitje van een cent.

5. Je hebt slechts één soort ontwikkelaar nodig om je apps te onderhouden

Als je je apps in-house wilt ontwikkelen en onderhouden heb je zowel een iOS-ontwikkelaar (Swift) als een Android-ontwikkelaar (Java) nodig wat veel geld kan kosten.

Een van de grote voordelen van React-Native-apps is dat je geen ontwikkelaars voor mobiele apps hoeft in te huren: je hebt slechts een JavaScript-ontwikkelaar nodig om beide apps te bouwen en onderhouden. De meeste frontend webontwikkelaars hebben uitgebreide kennis van JavaScript en kunnen daardoor met React-Native aan de apps werken. Deze ontwikkelaars kunnen tevens je website onderhouden. Voor je bedrijf is dit een zeer kostenefficiënte oplossing.

Snellere ontwikkeling, efficiënt gebruik van resources en lagere kosten met React-Native en Expo

Als je je apps laat bouwen met React-Native en Expo, krijg je meer waar voor je geld. Tegelijkertijd kun je de ontwikkelvoortgang nauwer volgen en nieuwe functies sneller beschikbaar stellen aan de gebruikers. Met React-Native kun je tegen lagere kosten waardevolle bedrijfsapps bouwen.

Wil je meer weten over het bouwen van apps met React-Native en Expo? Neem dan gerust contact met ons op.

Over de auteur

Jordy van Raaij is JavaScript developer at One Shoe. Skilled in  veel JavaScript-frameworks zoals ReactJS, React-Native en AngularJS. Jordy werkt graag met tools als Redux, Styled-Components, Expo en Jest en verkent dagelijks de JavaScript-wereld.