Steven Flutter Summit

Blogpost

Flutter Global Summit 2022

Na lang wachten was het eindelijk zover: mijn tweede Flutter conferentie van het jaar, de Flutter Global Summit ’22. Met de officiële multi-platform release van Flutter in mei was ik ervan overtuigd dat deze editie een topper ging zijn. En dat was het zeker en vast!

De conferentie bestond uit 27 sprekers van verschillende achtergronden, die verspreid over 2 dagen sessies gaven om hun technische alsook functionele expertise te delen met de rest van de wereld. De eerste dag, genaamd de Junior Day, bestond voornamelijk uit sessies om beginners wegwijs te maken in de wereld van Flutter: van het configureren van de ontwikkelingsomgeving, tot de basisconcepten van Flutter tot tips om je productiviteit te verhogen. Tijdens de tweede dag, de Senior Day, kwamen de meer geavanceerde en technische concepten aan bod. Denk maar aan het optimaliseren van de geheugen afdruk van je applicatie, het eindeloze gevecht tegen het reverse engineering van apps,… Voor de volledige agenda kan je een kijkje nemen op de officiële pagina van het event.

Wat voor een framework is Flutter?

De definitie van Google gaat als volgt:

“Flutter is an open source framework by Google for building beautiful, natively compiled, multi-platform applications from a single codebase. Flutter is powered by Dart, a language optimized for fast apps on any platform.”

Een van de sleutelpunten is de “single codebase”. Met Flutter kan je met één enkele codebase je applicatie beschikbaar maken op zowel mobile (IOS, Android, Windows Phone), web, alsook desktop (Linux, Windows, MacOS) en embedded apparaten. Verder kan je een Flutter applicatie maken met één enkele programmeertaal; Dart. Dart is een programmeertaal die veel eigenschappen deelt met Java en C waardoor de taal zeer vertrouwd aanvoelt.

Mijn persoonlijke drijfveer om Flutter te gebruiken komt echter van hoe intuïtief en vlot het aanvoelt om in Flutter te programmeren. Ikzelf ben een backend developer in hart en nieren. Ik heb in mijn carrière toch enkele pogingen gemaakt om mezelf meer vertrouwd te maken met front-end gerelateerde technologieën, maar nooit met succes. Toen ik een tijd geleden echter nood had aan een visuele applicatie voor een persoonlijk project stelde een vriend voor om Flutter een kans te geven, het toen nieuwe framework van Google. Flutter was op dat moment nog in actieve ontwikkeling.

Toen ik Flutter een kans gaf was ik direct verkocht. Programmeren in Flutter voelde intuïtief aan en concepten waar ik normaal dagen mee aan het struikelen was in een technologie als Angular kreeg ik in Flutter opgezet in enkele uren! En dit zonder ook maar één lijn aan css of html-code te schrijven! Nog nooit had ik een applicatie zo snel in productie gekregen. En zo begon mijn avontuur in Flutter. Enkele jaren en meerdere projecten later (voor zowel mobile als web) kan ik me stilaan een expert noemen.

Volgens statistieken ben ik niet de enige die overtuigd is van de kracht van Flutter! Volgens een onderzoek van het statistische bedrijf Statista was Flutter in 2021 het meest populaire framework om mobiele applicaties te maken, en stootte het React Native van de troon. 

Grafiek Flutter populariteit

Om een verdere indicatie te geven van de groei in populariteit, heeft Google gedeeld dat er eind 2021 500.000 applicatiess ontwikkeld en opgeleverd zijn in Flutter. Om een idee te geven van welke bedrijven er al mee op de Flutter trein gesprongen zijn, alsook de variëteit van bedrijven, zijn hier enkele voorbeelden van integraties:

  • De My BMW app
  • Toyota’s embedded Linux-powered infotainment systems
  • De Philips Hue app
  • De New York Times app
  • Google apps: Stadia / Adds / Pay apps
  • De Ebay Motors app
  • De Nubank app (fintech bank)
  • Tencent apps (‘s werelds grootste gaming bedrijf)
  • De Reflectly app

De conferentie

Zoals eerder vermeld is Flutter een jonge technologie. Eén van de gevolgen hiervan is dat er buiten specifieke meetups niet veel grote publieke evenementen zijn waar Flutteraars samen kunnen komen om hun kennis te delen, of om simpelweg hun coole projecten te showcasen – wat deze conferentie net dat beetje interessanter maakte! Daarbovenop was er de maand voor de conferentie de grote 3.0 update van Flutter met enkele key features als: complete ondersteuning voor web- en desktop applicaties, een complete Games Toolkit en een geïntegreerde oplossing voor authenticatie flows.

Waar ik vooral naar uitkeek tijdens deze conferentie was in eerste instantie om kennis te maken met andere Flutter developers en hoe deze hun projecten aanpakken: welke architectuur en structuur gebruiken ze, welke packages zien zij als essentieel, welke tips hebben ze om de productiviteit te verhogen, … . Verder keek ik ook uit naar de technische deep dive sessies die tijdens de Senior Day gegeven gingen worden, en wou ik me eens wat meer verdiepen in alles rond het stylen en animeren van applicaties.

De Junior Day 

De eerste dag, de Junior Day, omvatte vooral sessies over de basics van Flutter of andere content die niet al te technisch was. Het begon met een reeks sessies over de mogelijkheden van Flutter. Van het integreren van voice commands in je applicatie, tot een mogelijke aanpak van microservices, tot het maken van een Flappy Bird kloon in 30 minuten, tot alles wat je moet weten over de build context (een krachtig concept van Flutter).

Mijn favoriete sessie van deze dag, en misschien wel van de hele conferentie, was de “The State of Reverse Engineering Flutter Apps” gegeven door Ryan Lloyd van GuardSquare. GuardSquare is een van de pioniers op vlak van mobiele applicatie beveiliging. Eén van de grootste angsten die je kan hebben als je een nieuwe app op de markt brengt is dat een derde partij in staat zou zijn om je app te reverse engineeren om zo een concurrentievoordeel te verkrijgen op jouw product – of om in het ergste geval zelfs om een kloon van je app uit te brengen! Het beschermen van de code van je app en je idee is een strijd waar nooit een einde aan zal komen. 

Flutter, zijnde een jonge technologie, is hier momenteel beter tegen beschermd dan oudere technologieën, maar dat wilt niet zeggen dat er geen proactieve stappen ondernomen moeten worden om Flutter apps beter te beschermen. In zijn sessie gaf Ryan advies om het risico te verminderen, alsook een intro tot de tools die GuardSquare heeft om je code veilig te houden.

Een andere sessie die er deze dag uitsprong was een andere non-technische sessie, “Observation-based product development using Flutter” van Mangirdis Kazlaukas, Tech Lead bij Billo. Billo is een gebruikers-gegenereerd video platform dat zich toespitst op het helpen van e-commerce merken om videoadvertenties te maken. In zijn sessie had hij het over hoe we ons te vaak concentreren op het bouwen van een applicatie, terwijl we ons volgens hem meer moeten concentreren op het bouwen van een product of ervaring. Uiteindelijk bouwen we toch de applicatie voor de gebruikers om hun leven makkelijker, leuker of beter te maken. 

Om de noden en frustraties van zijn gebruikers te weten te komen, had Mangirdis een observatie gedaan van het gebruik van zijn applicatie. Hij bestudeerde het gedrag van de applicatie, vroeg naar feedback en nam statistieken van de acties van de gebruikers. Vooral dit laatste was een goudmijn aan informatie. Wisten jullie dat 42% van de 1 ster reviews op de Google Play Store bugs vermelden? Of dat 84% van de gebruikers een app verwijderen na twee crashes?

De Senior Day 

Na de sessies van de eerste dag was het tijd voor de Senior Day. Tijd om na te gaan of mijn ervaring met Flutter genoeg is om te kunnen volgen tijdens de technische deep dives! De topics van de sessies waren veruiteenliggend, en enkele sessies werden zelfs gegeven door ingenieurs van Google. Topics als build automation, het laten communiceren van Flutter met native code, het implementeren van een event bus, realtime communicatie via het gRPC protocol, … .

De sessie die me het meeste is bijgebleven is toch wel de “Running Flutter on E-Ink Paper” talk van Simon Lightfoot, CTO van DevAngels. In zijn sessie liet hij zien hoe hij een Flutter project werkende kreeg op een Raspberry Pi en de output van het scherm liet zien op een E-Ink Display. Een E-Ink display is een dunne en energiezuinige display die bijvoorbeeld ook gebruikt wordt in E-readers, smart watches en digitale aanplakborden. Met mijn achtergrond in zowel informatica als elektronica was deze sessie een perfecte combinatie. Enerzijds had het de Flutter zijde, op een embedded device weliswaar, en anderzijds had je het elektronisch aspect met de Pi en E-Ink display.

Wat tijdens de Senior Day ook uiterst inzichtvol was, waren de “Panel Discussions”. In deze discussies werden mensen die betrokken zijn met de ontwikkeling en implementatie van Flutter en Flutter applicaties in een groep geplaatst om een discussie te voeren over de huidige stand van zaken van Flutter, alsook de mogelijkheden en limitaties van het framework. Na deze discussies kon ik alleen maar bevestigen dat de nabije toekomst van Flutter er alleszins heel goed uitziet!

Conclusie

En zo kwam er na twee lange en vermoeiende dagen, met een hoofd vol ideeën voor mijn huidige en toekomstige Flutter applicaties, een einde aan de Flutter Global Summit. Achteraf gezien was deze conferentie toch één van de betere community events waar ik deel aan heb genomen in de Flutter wereld. Enkel spijtig dat de conferentie enkel online te volgen was.

Ik kijk zeker en vast uit naar de volgende van de Flutter Global Summit, maar eerst en vooral is het uitkijken naar de volgende grote Flutter conferentie; de Flutter Vikings Conference

Foto Steven De Cleene

Steven De Cleene

Java Software Crafter

Steven is een ervaren Java Software Crafter met een passie voor back-end systemen, software architectuur en machine learning. Steven is ook in staat om verder te kijken dan het standpunt van een traditionele developer en hecht ook belang aan activiteiten in niet-technische domeinen zoals UX, marketing..