Appdevelopment: is Flutter de toekomst?

In de afgelopen tien jaar hebben tal van bedrijven geprobeerd om het ontwikkelingsproces van digitale producten te vereenvoudigen en te versnellen, aangespoord door de innovatiewedloop en de revolutie rond het gebruik van mobiele telefoons.

Een van de grootste knelpunten in de ontwikkeling van mobiele applicaties is het feit dat die apps compatibel moeten zijn met verschillende besturingssystemen, zoals Android of iOS.

Dat betekent dat je alle fases, van de ontwikkeling en de tests tot de publicatie, twee keer moet doorlopen of zelfs vaker. En daarbovenop komt nog het debuggen en updaten. Een zware beproeving voor developers en een extra kost voor ondernemingen.

Om op dat probleem in te spelen, lanceerde Google in 2018* Flutter, een open source framework** om applicaties voor verschillende besturingssystemen te maken. Het concept? Met Flutter kunnen developers in één keer applicaties ontwikkelen die op verschillende besturingssystemen werken (Android/iOS) en zelfs op desktops en mobiel internet.

Waarom heeft Flutter zoveel succes bij developers, en door welke kenmerken is het zo’n geducht efficiënte tool voor developers die sneller mobiele applicaties van hoge kwaliteit willen ontwikkelen?

Wat maakt Flutter zo uniek?

Flutter is uniek omdat je met dit framework applicaties voor verschillende besturingssystemen op de markt kunt maken op basis van dezelfde sourcecode. Je hoeft niet meer uit te zoeken hoe elk systeem werkt om je applicatie compatibel te maken of je app twee keer te ontwikkelen. Met andere woorden: met Flutter ontwikkel je één enkele applicatie die zowel op iOS- als Android-toestellen zal werken.

“Het grootste voordeel van Flutter is dat je minder codes moet schrijven voor hetzelfde resultaat op iOS en Android.”

Baudoin ABCD – developer van Betuned

Flutter wordt al gebruikt door verschillende grote bedrijven, zoals Groupon, eBay en Tencent, dus het framework heeft zeker zijn sporen al verdiend. Wat zijn de grootste troeven ervan in de innovatiewedloop waarin start-ups en internetgiganten elkaar de loef proberen af te steken?

Waarom werd Flutter dé oplossing om apps te ontwikkelen voor verschillende besturingssystemen?

Snellere ontwikkeling

Dit is het doorslaande argument van Flutter. Slechts één sourcecode voor een applicatie die op verschillende besturingssystemen draait: de droom van elke appdeveloper en -editor. Naast het feit dat je je app in één keer correct en sneller kunt ontwikkelen, heb je dankzij de functie ‘hot-reload’ veel minder tijd nodig om de code te compileren, waardoor je kunt focussen op het ontwikkelen zelf.

Technisch toegankelijk

Flutter is eenvoudig en intuïtief te gebruiken. DART is een van de gemakkelijkste programmeertalen om te leren, zelfs voor beginnende developers. Voor ondernemingen die (nog) geen developers hebben met veel ervaring, is Flutter een aannemelijke optie om hun applicaties in een recordtijd te lanceren, zonder dat ze een leger van doorgewinterde developers moeten inschakelen.

Een en al widgets

Dat is eigenlijk het motto van Flutter. De hele grafische interface bestaat enkel uit (honderden) widgets die elk één taak vervullen. Je zet ze samen als legoblokjes om je applicatie te bouwen. Dat is geen kinderspel, maar de logica erachter is heel intuïtief, waardoor je je kunt concentreren op de gebruikerservaring of het design van de applicatie.

Wie meer ervaring heeft, kan zijn eigen animaties en widgets maken met DART als referentieprogrammeertaal.

User first

Developers en marketeers weten het maar al te goed: voor smartphones is de gebruikerservaring cruciaal. Als de app een slechte ergonomie heeft, dan stopt de consument met klikken en zoekt hij een andere oplossing: een kleine swipe naar links of naar rechts volstaat.

Met Flutter beschik je over een grote keuze aan grafische onderdelen. Er zijn heel weinig beperkingen, je kunt er praktisch alles mee doen. De visuele taal van Google (material design) is specifiek bedoeld voor applicaties (‘mobile first’) met een flat design, met simpele vormen en een minimalistische look.

Voor onze meer ervaren lezers: Flutter zoekt zijn vectorafbeeldingen in de bibliotheek Skia, zodat de gebruikersinterface identiek is op Android en iOS. Flutter wil dat zijn applicaties pixel perfect zijn. Daarom is het design van die applicaties niet afhankelijk van het besturingssysteem.

Kortere time-to-market

Flutter is zeer gegeerd bij IT-teams met agile ontwikkelingsmethodes. Die werken vaak in ‘sprints’ (korte ontwikkelingsfases) waarin ze een MVP (minimum viable product) moeten afleveren, dit is een applicatie met een heel beperkt aantal functies die ze kunnen testen en/of laten goedkeuren door de klant. Daarna begint er weer een nieuwe sprint enzovoort…

Dat is precies waar Flutter voor gemaakt is: ontwikkelen, testen, goedkeuren, herbeginnen… Het voordeel is dat je hier je fouten kunt opmerken tijdens de ontwikkeling en ze kunt rechtzetten zonder te moeten wachten op het eindproduct. Zo voorkomt Flutter veel teleurstellingen tijdens de fases waarin de applicatie aan de eindklant of intern moet worden afgeleverd.

Lagere ontwikkelingskosten

Dit is een logisch gevolg van de vorige punten: als je de app sneller ontwikkelt en minder resources nodig hebt voor een kwalitatief resultaat, dan zullen je ontwikkelingskosten beduidend lager liggen. Flutter is zeer geschikt voor start-ups, omdat je kunt focussen op de toegevoegde waarde voor de gebruiker zonder verstrikt te raken in testfases en eindeloze QA’s.

De toekomst van appdevelopment?

Het is onmogelijk om met zekerheid te zeggen dat Flutter hét efficiëntste framework van het mobiele ecosysteem zal worden, maar één ding staat vast: programma’s waarmee je eenvoudiger applicaties kunt ontwikkelen met behulp van gemakkelijk te gebruiken SDK’s of frameworks, hebben de wind mee.

In de ondertussen beroemde enquête ‘Most Loved, Dreaded, and Wanted Web Frameworks, Libraires and Toolsdie StackOverflow ieder jaar afneemt, stond Flutter op de vierde plaats in de categorie ‘Wanted’ en op de derde plaats in de categorie ‘Loved’.

Bij no-codeplatformen (+ link naar artikel over no-code) zien we dezelfde trend, wat aantoont dat alles steeds sneller moet gaan. De technische kant moet vereenvoudigd worden, zodat developers zich kunnen concentreren op de gebruikerservaring, en de marketing- en salesteams moeten betrokken worden bij IT-projecten.

Met sterke referenties, een groeiende community en de technologische ondersteuning van Google heeft Flutter alles in zich om hét referentieframework voor verschillende besturingssystemen te worden en zelfs meer, want het platform gaat Windows en Linux achterna. Het ga je goed, Flutter!

* Op december 2018 werd Flutter 1.0 gelanceerd tijdens het evenement Flutter Live. Het was de eerste ‘stabiele’ versie van het framework. Op 11 december 2019 werd Flutter 1.12 gelanceerd tijdens het evenement Flutter Interactive.

** Framework: in een programmeercontext is een framework (ook wel software-infrastructuur, ontwikkelingsinfrastructuur, een ontwikkelingplatform, een applicatieplatform, een applicatieraamwerk of een raamwerk genoemd) een geheel van structurele softwarecomponenten dat dient om de basis en de grote lijnen van volledige software of delen van software op te bouwen (architectuur).