Flutter, wat is hier aan de hand?
Al een tijdje spelen we met Google's nieuwe cross platform SDK, Flutter. Onlangs resulteerde dit in onze eerste Open Source plugin, Geolocator voor Flutter.
Maar er is meer dan onze gebruikelijke liefde voor open source en nieuwsgierigheid naar nieuwe technologie waardoor we nogal enthousiast zijn over Flutter. Dus wat is de deal hier?
Platformoverschrijdende concepten
Als je kijkt naar de beschikbare cross-platform oplossingen is de basisarchitectuur min of meer hetzelfde: gebruik een taal die je op alle ondersteunde platforms kunt gebruiken en maak een brug naar de API's van het native platform. Er is een verschil tussen platforms die ook een brug slaan naar de UI-gerelateerde API's (Xamarin bijvoorbeeld) en de webgebaseerde platforms zoals Cordova die een webweergave gebruiken voor de UI.
Toch zou je in het algemeen kunnen zeggen dat je applicatie werkt in de gebruikersruimte, terwijl je praat met OS API's. Deze API's maken deel uit van het besturingssysteem en maken het leven van een ontwikkelaar gemakkelijk. Tenminste, dat was het plan...
Flutter Concepts
Flutter pakt het anders aan: het gebruikt een taal uit het web ecosysteem (Dart) en in plaats van te praten met OS API's 'tekent' het gewoon rechtstreeks naar het scherm. Waarom wil je dat doen? Performance! Niet te maken hebben met native API's die allerlei verschillende use cases moeten afhandelen, een Flutter app vraagt om een canvas en tekent daar dan direct op. Dit gebeurt met een zeer krachtige grafische rendering engine genaamd Skia. Waarschijnlijk ben je al bekend met Skia, want het wordt ook gebruikt door Google's Chrome browser.
Deze blog is niet de tijd, noch de plaats, om te bespreken hoe Skia werkt, maar één ding is duidelijk: een Flutter app is in staat grafische renderprestaties te leveren die veel verder gaan dan wat je kunt bereiken met een 'traditionele' native app.
En dit alles gecombineerd met een mooie, sterk getypeerde objectgeoriënteerde taal. Bekend met Javascript? Nog voor je tweede kop koffie ben je klaar met Dart!
Baseflow's liefde voor Flutter
We doen al vele jaren aan cross-platform. In die jaren hebben we geleerd die platforms optimaal te gebruiken. De business case voor cross-platform is toch vrij eenvoudig? Nou, we zijn tegen gevallen aangelopen waar, vaker wel dan niet, het eindigde met: "misschien hadden we dit met een native app moeten doen".
En hoewel het nog te vroeg is om dat te zeggen (Flutter heeft onlangs het beta-stadium verlaten), raken we er steeds meer van overtuigd dat Flutter die cross-platform oplossing zou kunnen zijn die aan al onze behoeften voldoet.
Baseflow Flutter Meetup
Nog steeds geïnteresseerd? Wil je meer weten? Doe dan mee aan onze Meetup in augustus waar we je meer vertellen en laten zien over Flutter!