Terug naar blog

Teamcoda redactie1 May 2020

Waarom we enthousiast zijn over Flutter

Flutter is een relatief nieuw cross-platform framework voor het ontwikkelen van apps. Het is gemaakt door Google, die het in eerste instantie zelf gebruikte om applicaties te bouwen voor mobiel, desktop en web platformen, vanuit een enkele codebase. Het werd officieel vrijgegeven in 2018 om te gebruiken door ontwikkelaars, en heeft binnen een jaar tijd

Flutter is een relatief nieuw cross-platform framework voor het ontwikkelen van apps. Het is gemaakt door Google, die het in eerste instantie zelf gebruikte om applicaties te bouwen voor mobiel, desktop en web platformen, vanuit een enkele codebase. Het werd officieel vrijgegeven in 2018 om te gebruiken door ontwikkelaars, en heeft binnen een jaar tijd meer populariteit behaald dan andere platformen, zoals React Native, wat ontwikkeld is door Facebook.

Bij TeamCoda is dit ons niet voorbij gegaan, en we zijn er flink enthousiast over. Maar waarom precies? Wat zijn dan de voordelen voor klanten? Wat heeft Flutter voor impact op het ontwikkelproces? En wat is het toekomstperspectief? In dit artikel zullen we onze gedachten over dit platform uiteen zetten.

De voordelen van Flutter.

Ten eerste de voordelen van Flutter. Het eerste grote voordeel is dat je vanaf één enkele codebase voor meerdere mobiele platformen kan ontwikkelen. Dat betekent dat je geen aparte app voor Android én iOS hoeft te ontwikkelen, maar de code die geschreven is voor beiden gebruikt wordt. Andere development platformen zijn hiertoe ook in staat, maar op een veel minder effectieve manier. Zo zijn er bijvoorbeeld beperkte mogelijkheden tot het gebruik van de ‘native’ (oftewel platform-eigen) functionaliteiten van een apparaat. Sommige platformen, zoals Ionic, maken gebruik van een ‘weblaag’, waardoor ze de app in een aangepaste browser tonen. Hierdoor kunnen deze platformen gebruik blijven maken van JavaScript, waardoor de toegankelijkheid laag ligt. Flutter werkt echter op basis van Dart, een taal ontwikkeld door Google, wat zij specifiek ingericht hebben om snelle webapps te kunnen maken. En dat zie je terug in apps.

Flutter code geschreven in Dart wordt namelijk omgezet naar native code voor het apparaat. Dat betekent dat alle platform-specifieke verschillen, zoals scrollen, navigatie, iconen, animaties en fonts omgezet worden naar de native code voor dat platform. Wat dit concreet oplevert is een native performance voor zowel iOS als Android. Supersnel dus!

Een ander voordeel van deze native code is dat het uitbreiden van je applicatie door middel van het zelf schrijven van plugins makkelijker wordt. Andere platformen hebben vaak last van afhankelijkheden en tussenlagen. Flutter kan echter alles kan doen wat een native applicatie ook kan doen. Flutter instrueert de native iOS/Android code om een actie uit te voeren en het resultaat terug te geven aan Dart. Het aanspreken van native code met Flutter is een thema waarin het ook ver vooruit springt.

Ten slotte is de snelle herlaad functie van Flutter een belangrijk voordeel ten opzichte van andere platformen. In ieder development proces is het snel kunnen herladen van de aanpassingen die je hebt gemaakt een van de grootste behoeftes. Flutter bied dit aan op een snelle en toegankelijke manier. De bronbestanden worden direct opnieuw geladen in de VM (Virtual Machine) waar Flutter in draait, waardoor Flutter snel de veranderingen kan renderen. De voordelen hiervan liggen voor de hand; een sneller development proces.

Al met al zijn de voordelen van Flutter goed op te sommen;

  • Het is goedkoper om met Flutter een MVP te bouwen, omdat er een enkele codebase is. Daarmee kan je op zowel Android als iOS goed uit de voeten.
  • De performance ligt net zo hoog als bij native applicaties. Dit omdat Flutter met behulp van Dart de code omzet naar native code voor het platform.
  • Het schrijven van plugins werkt uitstekend omdat het de native code makkelijk kan aanspreken
  • Het development proces verloopt uiterst snel door het snel kunnen herladen in simulators.
  • Flutter biedt veel widgets aan die het makkelijk maken om je app te personaliseren en een waardevolle user interface te bouwen.

Toekomstvisie

In eerste instantie werd Flutter afgeschreven als de zoveelste hybride app development framework. Het is echter binnen een jaar populairder geworden dan React Native. En met goede reden; het is een uitstekende concurrent op basis van development snelheid, toegankelijkheid, performance en responsiveness.

Maar er zijn natuurlijk ook een aantal hekelpunten. Een van die punten is dat veel van de andere frameworks in de basis werken met het alom bekende JavaScript, zoals React Native en Ionic, waar al veel developers bekend mee zijn. Omdat Dart in eerste instantie alleen intern bij Google werd gebruikt, en pas een aantal jaar door andere developers, zijn nog niet veel developers hiermee bekend. Gelukkig blijkt dat veel developers Dart makkelijk aanleren omdat de learning curve relatief laag is. Dat komt omdat Dart dichtbij andere populaire programmeertalen ligt, zoals C# en Java. Ook zijn er voorbeelden van apps gemaakt door mensen zonder eerdere programmeerervaring, wat duidt op een toegankelijke taal.

Een ander probleem wat hieraan gerelateerd is is dat de community nog jong en in ontwikkeling is. Men vraagt zich af of dat de hype voorbij gaat en de groei uiteindelijk stagneert, of juist doorzet. Er zijn echter genoeg indicaties om te zien dat Flutter here to stay is. Zo zijn het aantal verzoeken voor freelance Flutter ontwikkelaars enorm gegroeid in 2019, is er uitgebreide documentatie beschikbaar gesteld door Google, en zijn veel developers enthousiast.

Ook het feit dat Flutter ondersteund wordt door een grote, vastberaden corporatie zal veel schelen. Google is namelijk vastberaden om er voor te zorgen de Flutter als de beste framework voor het bouwen van mobiele apps gezien wordt. Dat houdt in dat er voor de komende jaren veel support en development aan het framework zal zijn. 

Conclusie 

Wat ons betreft is Flutter perfect voor startende ondernemers om minimum viable products (MVPs) te maken voor beide platformen. Het development proces is snel, je kan voor beide platformen ontwikkelen, de performance is zo goed als native en er is al een flinke library aan user interface componenten. De structuur en learning curve van Dart zijn veelbelovend en de documentatie is uitgebreid.

Geschreven en geredigeerd door Teamcoda · Den Bosch. Praktijkkennis uit projecten — geen volautomatisch gegenereerde content zonder redactie.

Laat ons je helpen!

Wil je met een van deze technieken aan de gang? Of advies nodig over hoe je deze effectief in kan zetten? We geven advies maar hebben ook capaciteit. Neem contact met ons op om de mogelijkheden te bespreken.