Helaas zijn React Native en Ionic en Cordova niet zonder beperkingen. Je bent namelijk eigenlijk een webapplicatie aan het bouwen die in een native-verpakking wordt gestopt zodat je deze op je telefoon kunt installeren. Deze native-schil geeft je de mogelijkheid om te praten met andere hardware functionaliteiten op je telefoon zoals de camera, bluetooth en bijvoorbeeld de trilstand. Omdat het verder in de basis een webapplicatie blijft, loop je echter tegen dezelfde beperkingen aan als in de browser; animaties zijn soms traag en minder vloeiend op de telefoon. Daarnaast gaat er door de vertaalslag en extra communicatielaag tussen het web en native gedeelte, een hoop kostbare rekenkracht van je telefoon verloren. Dit zorgt voor een minder prettige beleving. Uiteindelijk voelen deze apps toch altijd net niet helemaal als the real thing aan, een beetje als een soort ‘uncanny valley’ voor apps.
Flutter is een vrij nieuw open source framework uit de koker van Google om cross-platform applicaties te kunnen bouwen. Flutter probeert hetzelfde probleem op te lossen als React Native, Ionic en Cordova, maar op een andere manier zodat de beperkingen van de eerdergenoemde oplossingen zoveel mogelijk worden opgelost. Flutter doet dat als eerste platform niet gebaseerd op de programmeertaal JavaScript, maar gebruikt Dart als taal. Net als Flutter is Dart ook ontwikkeld door Google, waardoor deze goed op elkaar afgestemd zijn. Daarnaast gebruikt Flutter zijn eigen ‘rendering engine’ om elementen op je scherm te tonen.
Onlangs hebben we een project afgerond waarin we binnen drie sprints, een volledige mobiele applicatie voor zowel iOS als Android hebben gebouwd met Flutter. We kunnen niet wachten om deze app aan de wereld te introduceren, maar nu lichten we alvast een klein tipje van de sluier: binnen deze drie sprints hebben we aan applicatie gebouwd waarin gebruikers naar audio kunnen luisteren (gedownload worden vanaf het internet om de lokale opslag te besparen), wekelijks herinneringen krijgen in de vorm van notificaties die zij zelf kunnen instellen, en al hun voortgang in een uitgebreide tijdlijn terug kunnen zien. Dit allemaal zonder dat er ook maar één moment een account aangemaakt hoeft te worden, of persoonlijke data van het apparaat verstuurd wordt.
Flutter is begonnen als framework voor cross-platform apps voor iOS en Android, maar inmiddels is het al veel groter dan dat. In maart 2021 werd met Flutter 2.0, ondersteuning voor het web vrijgegeven. En bij de meest recente update (Flutter 3.0), kwam daar ondersteuning voor de drie grote desktop-platformen bij. Inmiddels kan je dus vanuit één codebase applicaties ontwikkelen voor iOS, macOS, Android, Windows, Linux én het web. Geen enkel ander framework heeft zo’n brede ondersteuning voor verschillende platformen.
Heb jij toevallig slimme lampen van Philips HUE, een moderne BMW of MINI met bijbehorende app, of ben jij van plan in de toekomst een Toyota te kopen? Dan is de kans groot dat je al in aanraking bent of gaat komen met Flutter. De BMW Group heeft in 2020 met succes de vernieuwde versie van de My BMW app gelanceerd die gebouwd is met Flutter. Toyota heeft zelfs aangekondigd dat zij hun volledige infotainment-center in de auto met Flutter bouwen! En ook de 4.0 update van de Philips Hue app, die vorig jaar verschenen is, is gebouwd met Flutter. Wijzelf gebruikten Flutter al voor meerdere projecten, waaronder Astmakompas en een beveiligingsapp voor Huuralarm.
Als je nog niet bekend bent met Flutter vraag je je misschien af wat de toekomstbestendigheid van Flutter is. Wanneer we die vraag beantwoorden, kunnen we ten eerste stellen dat Flutter ondersteund wordt door de kracht van Google. Ten tweede staat ook Canonical, bekend van de grootste Linux-besturingssystemen zoals Ubuntu, achter Flutter. In 2021 heeft Canonical aangekondigd dat Flutter de nummer 1 keuze is om toekomstige mobiele én desktopapplicaties te ontwikkelen.
Bij Flutter staan de ontwikkelingen dus niet stil. In januari 2023 is er een conferentie ’Flutter Forward’ genaamd. Waar het precies over zal gaan en wat voor mooie dingen er eventueel aangekondigd worden, is nog onduidelijk. Maar één ding is voor ons zeker, Flutter heeft de toekomst. Wij kijken er in ieder geval alvast naar uit!