Expo is de kers op de React Native taart

Barbara Abspoel
Jeroen Groenendijk
Barbara Abspoel & Jeroen Groenendijk

6 februari 2023

Expo is de kers op de React Native taart

Plannen voor een nieuwe app? Overweeg ook Expo te gebruiken 

Een succesvolle mobiele app ziet er goed uit en is handig in gebruik. Een goede applicatie stack is daarvoor een belangrijke basis. Bij Enrise hebben we veel ervaring met het bouwen van mobiele apps. Daarbij maken we vaak gebruik van React Native. Steeds meer apps maken daarnaast ook gebruik van Expo. Ook wij waren fan vanaf het eerste uur. In dit blog leggen we je uit waarom. 

Wat is het Expo framework?

Zoals gezegd werken we bij Enrise vaak met React Native. Dit framework is ontzettend populair en wordt onder andere omarmd door Facebook, Microsoft en Shopify. In de afgelopen jaren is Expo ontstaan als een aanvullend framework bovenop React Native. Net als React Native heeft ook Expo een grote community opgebouwd. De kracht van Expo is de bijdrage van het framework aan de ontwikkelsnelheid en schaalbaarheid van je app. Daar waar je normaal gesproken zelf de binnen je app gebruikte React Native modules managet, doet Expo dit voor je. Een principe dat ze ‘managed workflow’ noemen – in tegenstelling tot de kale workflow waar je normaal gesproken mee werkt. Om dit te bereiken biedt Expo een aantal services en componenten. 

Download alert! Whitepaper App development

En dat niet alleen…

Het Expo Framework zelf is open source. Naast het framework biedt Expo ook nog de zogenaamde Expo Application Services (EAS). Deze kunnen gebruikt worden binnen elke React Native app, of deze nu het Expo framework gebruikt of niet. De meeste beschikken over een prima gratis versie en bieden extra functionaliteiten tegen betaling. Op dit moment zijn de volgende services beschikbaar: 

  • EAS Build
    Een volledige CI/CD service. Geautomatiseerd versiebeheer, bouwen van apps voor productie en testen, voor zowel Apple als Google.
  • EAS Submit
    Maakt het mogelijk om de app toe te voegen aan de stores van Apple en Google. Zonder Expo moet je zelf veel regelen met certificaten van beide partijen, hier ben je al snel meerdere uren of dagen mee bezig.
  • EAS Update
    Zorgt voor directe automatische updates van je app richting gebruikers
  • EAS Metadata
    Op dit moment nog in beta, maar wanneer gereed zal deze service het mogelijk maken om makkelijker en sneller de juiste – door Google en Apple vereiste – metadata naar de stores te sturen. Dit kan afkeuring van je app voorkomen.

Redenen om Expo te gebruiken

Gebruik van het Expo framework, met optioneel aanvullende EAS modules, heeft veel voordelen. 

Minder dependencies
Omdat Expo veel ingebouwde componenten heeft, hoef je minder dependencies te onderhouden. 

Proven track record
Zowel binnen als buiten Enrise worden veel apps gebouwd met Expo en vindt er actieve kennisdeling plaats. Bij Enrise hebben we deze technologie onder andere ingezet voor Autotrack en Simpel. 

Eenvoudige CI en deployment processen
Infrastructuur en benodigde configuratie voor build en deployments is eenvoudig en goed gedocumenteerd. Je hebt hier dan ook geen aparte tooling meer voor nodig.

Sneller testen, sneller releasen
Je kunt zoveel test-omgevingen als je wilt tegelijk in de lucht houden, waardoor je snel en betrouwbaar kunt releasen. Een volwaardig app-equivalent van review applicaties.

Voldoende support
Er is zowel community- als first party support beschikbaar.

(Veel) snellere platform updates
Expo draagt zorg voor de volledige native kant van je app, waardoor je die niet apart hoeft te onderhouden of updaten. Platform updates die normaal dagen in beslag zouden nemen, duren met behulp van Expo slechts enkele uren of zelfs minuten. 

Waarom zou je dit framework niet gebruiken? 

Wat ons betreft is Expo in veel gevallen echt een goede keuze als aanvulling op je React Native setup. Maar er zijn wel wat zaken waar je rekening mee moet houden. 

Let bijvoorbeeld goed op of de native functionaliteiten die jouw app nodig heeft wel ondersteund worden door Expo. Expo ontwikkelt continu nieuwe componenten en services, maar op moment van schrijven worden bijvoorbeeld augmented en virtual reality en in-app aankopen nog niet ondersteund. Maak hier dus voor je de keuze maakt een goede inventarisatie van. 

Iets anders wat je moet weten is dat je app door het gebruik van Expo iets groter wordt (in MB’s). Niet per se een probleem, maar wel goed om je bewust van te zijn. 

Tot slot kun je er natuurlijk ook voor kiezen om Expo in te zetten in een al bestaande (React Native) app. In dat geval is er waarschijnlijk ook een stuk refactoring nodig om dit mogelijk te maken. Je app is daarmee gelijk weer bij de tijd, dus een echt nadeel is het niet, maar het kost natuurlijk wel wat extra ontwikkeltijd. Wil je weten of jouw app hiervan kan profiteren, of wat in het algemeen technische verbeterpunten zijn? Wij kunnen je helpen met een APK voor je App.

APP APK CTA banner