Ga direct naar inhoud

02 augustus 2022

Hybride (Flutter) app of native app ontwikkelen - maak je de juiste afweging?

Thomas vertelt over de vele belangrijke afwegingen & keuzes die bij de ontwikkeling van jouw app komen kijken. Handig!

Hybride (Flutter) app of native app ontwikkelen - maak je de juiste afweging?

Wil je een eigen app laten ontwikkelen, dan heb je best wat afwegingen te maken. Over de aanpak en het design, maar ook over de techniek bijvoorbeeld. Niet iedere organisatie die een app wil ontwikkelen lijkt zich daar helemaal bewust van, merken we. Maar sommige keuzes zijn van grote invloed op de (uiteindelijke) kosten of toekomstbestendigheid. Enige kennis van app-ontwikkeling voor het maken van de juiste afwegingen is dus geen overbodige luxe.

Het goede nieuws? Wij weten vaak binnen enkele minuten van een app-gesprek welke oplossing de beste keuze is voor jouw app. En kunnen je goed uitleggen waarom. Daar kom je echt verder mee! 

In dit artikel lees je meer over belangrijke afwegingen en keuzes die er zijn bij het laten ontwikkelen van een app. Maak jij de juiste afweging?

Flutter fan

Laat ik voor de duidelijkheid wel even voorop stellen: ik ben fan van Flutter! Het is fantastisch wat ze bij Google - de makers van dit Framework - in slechts enkele jaren voor elkaar hebben gekregen. Eigenlijk zijn ze hun grote concurrent React Native (van Facebook) in rap tempo voorbij gegaan. Flutter is namelijk al verder doorontwikkeld. En heeft recent zelfs de mogelijkheid gereleased om naast iOS en Android apps, ook desktop apps (voor Mac en Windows) en webapps (PWA’s) te ‘toveren’ uit dezelfde codebase. Daar heb je dus maar één programmeertaal voor nodig, dat is echt fantastisch!

Maar zoals gesteld: Flutter is lang niet altijd de beste oplossing voor je app-project. Er komt namelijk nog aardig wat werk bij voor developers om de codebase daadwerkelijk te distribueren naar een iOS en Android app. Zo heb je te maken met allemaal verschillende schermgroottes (in portret en landscape modus) en specifieke UI (User Interface) elementen voor beide besturingssystemen. Om alles netjes te schalen naar de juiste schermgrootte en te tonen zoals het bedoeld is, zijn er handmatige nog veel acties en checks nodig. Soms moet je de codebase ook uitbreiden met native code om het beste uit de app te halen. Je roept deze native iOS en Android code dan aan vanuit de Flutter codebase, als een soort tussenlaag.

Wanneer welk framework kiezen?

Hoewel het dus fantastisch klinkt (en ook is, zeg ik als Flutter fan), moeten we het enthousiasme dus een klein beetje nuanceren als het gaat om daadwerkelijke Flutter-apps. De ontwikkeltechniek werkt goed, bij relatief simpele apps. Maar bij iets meer complexiteit of geavanceerde functionaliteiten, wordt het een ander verhaal. Dan zijn er te veel nadelen, die uiteindelijk tegenwerken. 

In een eerder blogartikel noemde ik al een paar nadelen van Flutter. Zo zijn er bepaalde aspecten die in Flutter nog niet goed ondersteund worden. Zoals: bluetooth, geavanceerde native technieken of externe API-koppelingen.

Maar los van deze beperkingen, zijn er meer nadelen die goed zijn om te benoemen voor een goede afweging. Zo is het goed om je te beseffen dat React Native en Flutter allebei open-source frameworks zijn. Dit betekent dat er aan ontwikkeld wordt binnen een community van developers. Ze werken (vaak in hun vrije tijd) aan stukjes code die door andere developers gebruikt kunnen worden in de ontwikkeling van apps. Packages, noemen we die stukjes code. 

Een mooi fenomeen. En er is zeker een actieve community, waarbinnen veel doorontwikkeling plaatsvindt. Maar toch ben ik ook realistisch als ik zeg: je loopt altijd een beetje achter. Ter verduidelijking een voorbeeld. De update iOS16 komt eraan in september. Bij Native apps zijn we in staat om met een aantal relatief kleine aanpassingen een update van een app uit te rollen, waardoor de nieuwste features vanuit de software update daarin gebruikt kunnen worden. 

Bij Flutter apps duurt dit meestal maanden, soms nog langer. Je bent geheel afhankelijk van de updates die binnen de community gelanceerd worden. En je weet dus nooit wanneer. Voor een specifieke functionaliteit, kan het soms lang duren voor het beschikbaar is. Soms komt het zelfs nooit, of niet op exact dezelfde manier zoals in de UI bedoeld was. Daarbij is gebruik ook altijd ‘op eigen risico’. Er is geen garantie op de mate van kwaliteit.

Wanneer kiezen voor Flutter?

Is je beoogde app simpel? Of vooral ondersteunend, omdat er bijvoorbeeld al een website is waar gebruikers geavanceerd dingen doen? En blijft de app zo, ook in de toekomst? Dan kun je met Flutter heel goed uit de voeten. En profiteer je dus van de tijdswinst en enige kostenbesparing. 

Maar zodra er sprake is van meer complexiteit, of later in de doorontwikkeling aan de orde komt, is het slim om goed door te denken. Kan wat je wil wel in Flutter? Maak je de goede keuze, ook voor de toekomst? Over bijvoorbeeld geavanceerde native technieken of koppelingen met externe API’s moet goed nagedacht worden. Wij gaan dan graag met je in gesprek en weten meestal na enkele vragen al wat voor jouw app de beste oplossing is. 

Ook eens in gesprek over jouw app-wensen?

Ik help je graag verder!


  • Samen met jou ontwikkelen we de beste mobiele apps. Al meer dan 16 jaar creëren we innovatieve apps voor smartphones, wearables, auto's. En daar worden wij blij van. Benieuwd naar ons werk?
  • Bekijk onze cases
  • Dutch Digital Agencies
  • Kom langs op ons HQ voor een kop koffie.
  • Reduitlaan 29, 4814DC Breda
  • (076) 204 3212
    info@unlockagency.nl
  • Onze locaties
  • Breda (HQ) Reduitlaan 29, 4814 DC
    Eindhoven - Torenallee 3, 5617 BA
    Rotterdam - Hofplein 19, 3032 AC
Locatie