Flutter: cross-platform (mobiele) apps

Pascal vierkantGeschreven door Pascal Widdershoven op 25-6-2020

In een eerdere blogpost beschreef ik het algemene landschap van cross-platform mobiele app ontwikkeling. Welke tools zijn er beschikbaar op de markt en wat zijn de voor- en nadelen? In deze post ga ik dieper in op Flutter.

Ambient computing

Flutter, een initiatief van Google, is een van de nieuwste manieren om apps te ontwikkelen. Met Flutter streeft Google naar ambient computing: het idee dat software(diensten) niet langer gekoppeld zijn aan één apparaat, maar overal beschikbaar zijn waar je het nodig hebt. Met Flutter kun je apps bouwen die op elk apparaat werken, met minimale aanpassingen voor specifieke apparaten.

Sterke uitvoering

Dit idee is op zichzelf misschien niet nieuw. Zoals je kunt lezen in mijn vorige post zijn er vele oplossingen Flutter voorgegaan. Er zijn echter twee belangrijke verschillen:

1. Flutter is ambitieuzer dan voorgaande oplossingen.
De meeste oplossingen vóór Flutter richten zich enkel op mobiele apps. Flutter richt zich op apps voor elk apparaat en elk platform.

2. Flutter voert dit idee ijzersterk uit.
De ontwikkeling van Flutter gaat op een rap tempo. Met Google heeft Flutter een reus achter zich met diepe zakken, iets dat hard nodig is om een dergelijk ambitieus idee uit te kunnen voeren.

Dit zorgt ervoor dat Flutter keihard groeit. In maart 2020 stonden er naar schatting al 50.000 Flutter apps in de Google Play store, waarvan 10.000 in de laatste maand geupload waren.

Technologie

De technologie die Flutter gebruikt om dit mogelijk te maken is uniek. Flutter gebruikt game engine technologie om user interfaces op het scherm te tekenen met wel 60 tot 120 beelden per seconde (afhankelijk van de refresh rate van het scherm). Door deze aanpak is de performance van Flutter apps uitstekend en vergelijkbaar met die van native apps (apps specifiek voor één platform zijn gebouwd).

Flutter heeft bijzonder goede ondersteuning voor animaties en transities, waardoor het relatief eenvoudig is om Flutter apps veel leuke, speelse user interface effecten te geven.

Flutter maakt gebruik van de Dart programmeertaal. Google heeft Dart ontwikkeld tot een universele programmeertaal die niet alleen gebruikt wordt voor Flutter apps, maar waarmee ook server applicaties ontwikkeld kunnen worden. Dart als programmeertaal is gericht op het ondersteunen van de programmeur, door een geavanceerd systeem dat helpt om fouten te voorkomen tijdens het ontwikkelen.

Ontwikkelsnelheid

Ontwikkelen met Flutter gaat snel dankzij de uitgebreide bibliotheek van user interface elementen die Flutter out of the box levert. Flutter heeft twee sets user interface elementen: Material en Cupertino. De Cupertino elementen zijn volledig in iOS stijl, de Material elementen gebruiken Google’s Material Design designtaal. Deze designtaal komt het meest voor op Android, maar vindt ook steeds vaker zijn weg naar iOS en het web.

Veel Flutter apps gebruiken dan ook de Material basiselementen om de user interface mee te bouwen, in combinatie met een brand-specific thema. Deze stijl past prima op alle platforms en stelt developers in staat snel te ontwikkelen.

Kabisa Mobile apps (Flutter)

Praktijk & Toekomst

De ambitie van Flutter om elk apparaat en elk platform te ondersteunen is prachtig. Helaas kan Flutter dit nog niet helemaal waar maken. iOS en Android zijn op dit moment de enige platforms die volledig ondersteund zijn. Windows en Linux desktop support zijn nog in development, MacOS desktop support is beschikbaar als alpha, web support is in beta. Dit betekent dat we op dit moment Flutter nog niet aanbevelen als support voor web of desktop op korte termijn nodig zijn.

Wel is het zo dat apps die vandaag met Flutter ontwikkeld worden in de toekomst met weinig effort ook beschikbaar gemaakt kunnen worden voor web, desktop en eventuele andere platforms.

Kabisa ❤️ Flutter

Bij Kabisa hebben we Flutter gevolgd vanaf het moment dat het beschikbaar kwam. We hebben even de kat uit de boom gekeken, geëxperimenteerd, meerdere Proof Of Concepts gebouwd, interne kennissessies georganiseerd en zijn nu overtuigd dat Flutter geen eendagsvlieg is maar een zonnige toekomst heeft!

Of Flutter een goede keuze is voor jouw nieuwe app hangt van een aantal factoren af. Als stelregel hanteren we bij Kabisa het volgende:

Met Cordova kan praktisch alle code gedeeld worden tussen iOS, Android én web. Web-based hybrid apps zijn inherent iets minder snel in gebruikt, maar met onze ruime ervaring op dit gebied weten we de performance in de meeste gevallen prima op orde te krijgen.

Advies op maat

Uiteraard is elke situatie uniek en voorzien we je graag van een advies op maat. Mogen wij je helpen bij het ontwikkelen van je nieuwe app? Neem dan contact met ons op.

Bij Kabisa staat privacy hoog in het vaandel. Wij vinden het belangrijk dat er zorgvuldig wordt omgegaan met de data die onze bezoekers achterlaten. Zo zult u op onze website geen tracking-cookies vinden van third-parties zoals Facebook, Hotjar of Hubspot. Er worden alleen cookies geplaatst van Google en Vimeo. Deze worden gebruikt voor analyses, om zo de gebruikerservaring van onze websitebezoekers te kunnen verbeteren. Tevens zorgen deze cookies ervoor dat er relevante advertenties worden getoond. Lees meer over het gebruik van cookies in ons privacy statement.