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.