Bij MSML bouwen we al jaren mobiele apps. Door onze oorsprong in web-technologie was het bouwen van mobiele apps met het Ionic Framework logisch. Nu we verder professionaliseren bieden we ook app ontwikkeling op basis van React Native. Maar waarom eigenlijk? Wat zijn de belangrijkste verschillen? Dit artikel geeft je de zakelijk én technische antwoorden.
Anders maar toch hetzelfde
Zowel Ionic als React Native zijn open-source development frameworks. Dat wil zeggen dat ze beschikbaar zijn onder een MIT licentie. Deze geeft ontwikkelaars en uitgevers het recht om de code kosteloos te distribueren, verkopen en aan te passen. Deze vormt het raamwerk waarmee mobiele apps gemaakt kunnen worden. Het raamwerk maakt het mogelijk om met code die veel programmeurs al kennen ook apps te kunnen maken. In het geval van Ionic is dat vooral HTML en CSS, bij React Native is het vooral React (Javascript).
Onder de motorkap
Het Ionic framework maakt gebruik van Cordova (of een vergelijkbare oplossing naar keuze) om toegang te krijgen tot de functies van de telefoon. Denk bijvoorbeeld aan de knoppen, maar ook de camera, opslag etc. Cordova was voorheen bekend als Phonegap. Die naam is eigenlijk wel toepasselijk want het ‘dicht’ het gat tussen de telefoon en jouw app.
Bij React Native is dat anders. Deze praat namelijk direct met de native API. Hierdoor is het gat tussen een maatwerk app en de hardware van je telefoon heel klein. Er is, in vaktermen, minder sprake van abstractie. Dat komt de prestaties en intuïtieve bediening ten goede.
To web or not to web
Een belangrijk verschil tussen Ionic en React Native vinden we in de manier waarop de app op je telefoon wordt geladen. In het geval van Ionic werkt je app als het ware in een browser die de web gebaseerde code presenteert als een app. De meeste gebruikers merken hier niets van.
React Native werkt niet met een browser. De code wordt namelijk omgebouwd tot apps in de taal van Android of iOS. Hierdoor draaien de apps op een manier die vergelijkbaar is met applicaties die specifiek voor dat platform zijn gebouwd.
There is strength in numbers
Zowel React Native als Ionic hebben een online gemeenschap van ontwikkelaars die werken met het framework. Zij schrijven code die ze als bijdrage in het project aanbieden op sites als GitHub. Daarnaast zorgt een actieve ‘community’ voor goede feedback en inzichten bij het core-team die werkt aan de volgende versie van Ionic en React Native.
Er zijn grote verschillen in de omvang en volwassenheid van de gebruikersgemeenschappen. Naar schatting is deze bij React Native ruim 20x groter dan bij Ionic. Dat verschil neemt volgens de trendlijnen steeds verder toe.
Wat brengt de toekomst
Nu React Native is aangekomen bij versie 0.60 en ondersteuning van oudere versies (backwards compatibility) in orde is, biedt het een uitstekend alternatief voor Ionic. Ook voor onze zakelijke klanten waar wij geen concessies doen in de continuïteit voor hun business.
Ondertussen blijven we de ontwikkelingen in de markt volgen om onze leidende positie te behouden. Amper vier jaar geleden kwam React Native publiekelijk beschikbaar. Inmiddels is het een van de grootste frameworks voor mobiele app ontwikkeling. Geen tijd om te slapen dus.
We investeren voortdurend in experimenten met de technologie van morgen. Zo ontwikkelen we al apps in Flutter, het alternatief voor React Native gemaakt door Google. Deze diensten stellen we nog niet ter beschikking aan klanten, terwijl we onze ervaring uitbreiden. De ontwikkelingen gaan snel, maar we vinden rendementszekerheid in de investeringen van opdrachtgevers enorm belangrijk. Daarom adviseren we onze klanten om - net als wij - te kiezen voor frameworks die voldoende volwassen zijn.