Apps programmeren in Flutter

Apps ontwikkelen met Flutter

Apps ontwikkelen met Flutter

Flutter: een mijlpaal in app-ontwikkeling

Ze hebben bij Google vast goed nagedacht over een naam die associaties oproept met snelheid, lichtvoetigheid, schoonheid en elegantie. Als de vleugelslag van een vlinder. Het werd het Engelse woord voor fladderen: ‘flutter’. Een naam die begint met ‘flut’ is in het Nederlands een slecht begin. Ik krijg dan ook meewarige blikken als ik zeg dat Flutter met afstand het beste systeem is dat ik ooit zag om apps te maken. Toch denk ik dat Flutter op dit moment het beste systeem is om apps te ontwikkelen voor zowel iOS als Android.

Boek

Apps ontwikkelen met FlutterJe vermoedde het al, dus ik noem het gelijk maar even: ik schrijf dit stuk naar aanleiding van Apps ontwikkelen met Flutter, een boek dat ik over Flutter schreef. Maar voor je nu denkt dat verkoopdrang de drijvende kracht is achter mijn enthousiasme: zo zit het niet. Het is andersom. Met een decennialange ervaring in programmeren en ontwikkelen voor het web, maakte ik begin 2019 kennis met Flutter. Het systeem fascineerde me zo dat ik mijn bestaande apps hierin heb omgebouwd en het nu gebruik voor alles wat met appontwikkeling te maken heeft. Terwijl ik het systeem leerde kennen, verbaasde ik me over de eenvoud, de elegantie en de snelheid ervan. Dat was voor mij aanleiding om met dit onderwerp naar een uitgever te stappen.

Native of hybride?

Flutter doorbreekt de klassieke tegenstelling tussen zogenaamde hybride en native apps. Hybride apps werken vanuit één code op meerdere platformen. Ze maken daarbij gebruik van een tussenlaag, zoals Javascript, die de communicatie tussen platform en app tot stand brengt. Native apps communiceren direct met de hardware. Daardoor zijn ze sneller en bieden ze meer controle. Flutter biedt het beste van beide werelden: vanuit één code compileert het native apps voor zowel iOS en Android. En daar blijft het niet bij. Flutter is er niet alleen voor mobiele apps: vanuit dezelfde code kun je ook al web- en desktopapplicaties exporteren, al is deze mogelijkheid nu nog in ontwikkeling.

Andere eigenschappen

Het voorgaande was voor mij reden genoeg om serieus naar Flutter te kijken. Maar Flutter heeft meer bijzondere eigenschappen.

  • De zogenaamde hot-reload zorgt ervoor dat je veranderingen in jouw code snel, meestal binnen een seconde, op het scherm ziet van een iOS- of Android-apparaat of een simulator. Dat maakt ontwikkelen en testen gemakkelijker, maar vooral veel leuker.
  • Je bouwt alles in de programmeertaal Dart. Wat dat betreft is er geen verschil tussen de grafische elementen (zoals knoppen, balken, schermen, en meer) en de functies en andere zaken die daaraan gekoppeld zijn. Alles komt voort uit dezelfde soort code.
  • Dat wil natuurlijk niet zeggen dat je alles van de grond af aan helemaal zelf hoeft te programmeren. Flutter kent een enorme bibliotheek van zogenaamde ‘widgets’. Er zijn widgets om elementen op het scherm te zetten, gebruikersinvoer te verwerken, te animeren en elke andere denkbare taak. Maar elke widget bestaat uit Dart-code.
  • Flutter is ontwikkeld door Google, maar is uitgebracht als open-source. Je kunt de code van elke widget inzien en desgewenst kopiëren en aanpassen. Het open karakter zorgt er ook voor dat de internetgemeenschap vrij is om nieuwe widgets te ontwikkelen. Dat gebeurt ook, in hoge snelheid. Prettige bijkomstigheid is ook dat Flutter zelf en de ontwikkeltools die je nodig hebt, helemaal gratis zijn.

Even wennen

De afwijkende structuur van Flutter is zeker even wennen als je goed thuis bent in een ander systeem. Maar uiteindelijk is het een slimme en efficiënte manier om dingen te bouwen die in andere omgevingen vaak veel code vergen of lastig zijn, zoals animaties, mooie en goed schaalbare interfaces en navigatiestructuren. De programmeertaal Dart is verwant aan Java, Swift, Javascript en andere populaire talen. Als je hierin thuis bent, dan is de overstap niet groot. Het omgedraaide geldt natuurlijk ook: als je helemaal geen ervaring hebt met programmeren en Dart als instap kiest, is het later niet moeilijk om ook andere talen te doorgronden.

Grote bedrijven

De eerste officiële versie van Flutter stamt uit december 2018. Het systeem is dus vrij nieuw en nog volop in ontwikkeling. Hoewel het leuk is om met Flutter te apenkooien, is het meer dan een speeltje voor tech-hobbyisten. Grote bedrijven als Sonos, eBay, Alibaba, BMW en natuurlijk Google zelf, gebruiken het voor essentiële apps. Hier vind je voorbeelden.

Beginnen met Flutter?

Als je nu al bezig bent met de ontwikkeling van Android-, iOS-, hybride apps of websites, dan is Flutter zeker een systeem dat uw aandacht verdient. Maar ook als je nog nooit geprogrammeerd hebt, dan is Flutter een mooi systeem om daarmee te beginnen.

De officiële Flutter-website is een goed startpunt. Er is veel documentatie en er zijn talloze Engelstalige tutorials op alle niveaus. Zelf leer ik een nieuw systeem liever kennen via de opbouw van een boek dan via losstaande, vaak fragmentarische tutorials. Het boek dat ik schreef, is het boek dat ik zelf graag had willen hebben toen ik me verdiepte in Flutter. Het bespreekt het hele traject, van installatie van de tools tot en met publicatie in de appstores. Maar het grootste deel gaat over het programmeren in Dart en het bouwen van apps. Uiteraard komt maar een heel klein deel van alle mogelijkheden aan bod. Doel is niet om compleet te zijn, maar om je echt een goed beeld van de structuur, de werking en de inzet van Flutter te geven. Je krijgt een solide basis die je met onlinebronnen gemakkelijk kunt uitbreiden. Maar ‘Apps ontwikkelen met Flutter‘ is niet theoretisch. Je leert door te doen, probeert code uit en maakt complete apps.

Geef een reactie

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.