De (on)mogelijkheden van Flutter: FAQ

Flutter-Blog-Pinch

Waar is Flutter sterk in? Waarin juist niet? En wat zijn de beste én minder geschikte use cases voor Flutter-apps? We geven antwoord op de meestgestelde vragen over de mogelijkheden en onmogelijkheden van het framework.

Waarvoor is Flutter vooral geschikt?

Waar Flutter in uitblinkt: met een beperkt budget en in slechts enkele weken een app voor zowel Android als iOS ontwikkelen. Daardoor is het geschikt voor het bouwen van onder meer prototypes en minimum viable products en interessant voor organisaties die nog niet precies weten hoe het concept eruit moet zien en welke functionaliteiten ze nodig hebben.

Hiermee willen we overigens niet de suggestie wekken dat er geen volwaardige apps met Flutter gebouwd kunnen worden. Integendeel. Zo zien we dat het populaire Linux-besturingssysteem Ubuntu Flutter gebruikt als standaardkeuze voor het ontwikkelen van applicaties. Zelfs hun installer, oftewel het eerste wat gebruikers zien van Ubuntu, is volledig in Flutter gemaakt.

Ook bedrijven als BMW en Toyota zetten flink in op Flutter. BMW heeft bijvoorbeeld de My BMW-app volledig gemaakt in Flutter en Toyota gebruikt het platform voor het ontwikkelen van de infotainmentsystemen van hun auto’s.

Het is voor ons in ieder geval een duidelijk signaal: ook de grote multinationals hebben vertrouwen in Flutter. We verwachten dat dit de verdere ontwikkeling van het framework ten goede komt. En dat Flutter mede daardoor een nóg grotere speler gaat worden binnen (mobile) development.

Zijn er ook use cases waar Flutter niet geschikt voor is?

Met Flutter is het wat lastiger om hardwarezaken zoals sensoren of de camera’s aan te spreken. Voor gaming-apps – die veel gebruikmaken van het beeldscherm en graphics-intensief zijn – is dit framework daardoor (vooralsnog) minder geschikt.

Is Flutter de heilige graal van cross-platform development?

Dat nou ook weer niet. Ga je werken met een cross-platform tool, dan betekent dit automatisch dat je concessies moet doen. Het is en blijft immers een abstractielaag. Hoewel het Flutter-framework erg goed is, krijg je vroeg of laat te maken met features waarbij je de hardware aanspreekt. Of met bepaalde SDK’s die je moet gaan gebruiken voor zaken als advertisement of analytics. Met Flutter kun je weliswaar gemakkelijk bridges schrijven die communiceren met native code, maar de afhandeling hiervan verloopt wat minder soepel dan wanneer we apps volledig native bouwen.

Overigens voelen de concessies bij Flutter niet echt aan als concessies, aangezien er in 95 procent van de gevallen een oplossing voorhanden is in de vorm van SDK’s. Is er geen oplossing beschikbaar, dan kunnen developers terugvallen op hun eigen native kennis en zelf een oplossing creëren.

Lees ook ons artikel Is Flutter de toekomst voor apps?

Wie bouwen al die Flutter-SDK’s?

Bij de beschikbaarheid van SDK’s zien we het breed gedragen geloof in Flutter terugkomen. Grote partijen hebben bijvoorbeeld, naast de SDK’s voor de native platformen, in de regel een eigen SDK voor Flutter beschikbaar. En ook wat betreft het aanspreken van de hardware constateren we dat er veel oplossingen online staan. De Flutter-community is bovendien erg actief in het beschikbaar maken van zowel hardware- als software-oplossingen. Tot slot heeft Google veel first-party oplossingen ontwikkeld voor zaken als in-app purchases, advertisement, Google Maps en Firebase.

Wat gebeurt er als er géén SDK beschikbaar is?

Hoewel er ongelooflijk veel SDK’s beschikbaar zijn voor Flutter, kan het voorkomen dat je als developer bot vangt. Bij Pinch hebben we hier echter nog nauwelijks hinder van ondervonden. Is er geen Flutter-SDK? Dan kun je ook met een native SDK werken, alleen moet er dan een bridge tussen de native SDK en het Flutter-framework worden gemaakt. Dat is een prima oplossing, maar het kost wel extra tijd bij het ontwikkelen van de app.

Lees ook onze whitepaper: één ontwikkelplatform voor iOS- en Android-apps [download]

Gerelateerde artikelen

Heb jij vragen over het ontwikkelen van een app? Wij bellen je terug!