Sinds Google de mobiele app Flutter SDK heeft geïntroduceerd, is het de kern geworden van veel populaire cross-platform mobiele apps. Met de groeiende populariteit van de app, groeit ook het aantal apps dat met Flutter gecreëerd zijn. We gaan kijken naar het Flutter framework en zijn voor- en nadelen. Ook leer je over een aantal mobiele apps die met Flutter zijn gemaakt en hoe de robuuste functies van Flutter hebben bijgedragen aan hun succes.
Open Source UI Framework
Om een op iOS ontwikkelde app ook voor Android beschikbaar te maken, is extra werk en tijd nodig voor ontwikkelaars. Er zijn vaak ook updates en bug fixes voor de app, die nu uitgegeven moeten worden voor zowel de Play Store als de App Store – in andere woorden, op twee plaatsen in plaats van één. Dit betekent dat er altijd twee codebases moeten worden onderhouden en dat er meerdere ontwikkelaars nodig zijn die de respectieve programmeertaal beheersen.
Flutter is een gratis, open-source UI framework gecreëerd door Google voor het bouwen van cross-platform mobiele apps. “Cross-platform” betekent vaak dat de prestatie verminderd, maar de technologie achter Flutter is vergelijkbaar met de normaalgesproken native frameworks van iOS en Android. Dit betekent dat in veel gevallen apps gebouwd kunnen worden met dezelfde code voor Android en iOS, zonder vermindering in kwaliteit. Flutter kwam uit in 2017 en laat ontwikkelaars mobiele apps bouwen voor iOS en Android, door gebruik van maar één codebase en programmeertaal. Deze mogelijkheid maakt iOS en Android app ontwikkeling makkelijker en sneller.
De SDK en zijn bouwstenen
Het Flutter framework bestaat uit beide een software development kit (SDK) en een widget-based UI toolkit. Deze toolkit bestaat uit verschillende herbruikbare UI elementen die ontwikkelaars een logische structuur bieden bij het programmeren. Dus je kan het zien als een soort ‘bouwpakket’ dat verschillende tools en elementen bedraagt. Je hebt bijvoorbeeld buttons, headings, of text invoeren die het app ontwikkelen vereenvoudigen omdat deze al beschikbaar zijn als basis componenten.
Dart – Flutters programmeertaal
Een programmeertaal genaamd Dart wordt gebruikt om mobiele apps te ontwikkelen met het Flutter framework. Met een syntax die vergelijkbaar is met de meest gebruikte moderne programmeertalen, is Dart een typed object progammeertaal dat zich richt op front-end development. Dart is momenteel vrij onbekend en nog niet volledig ontwikkeld. Desondanks zou het gebruik heel simpel en makkelijk te leren zijn, vooral voor ontwikkelaars die al bekend zijn met een andere progammeertaal. Bovendien kan de groeiende populariteit van Flutter ervoor zorgen dat Dart meer bekendheid zal krijgen in de toekomst.
Hoeveel Flutter apps zijn er?
Toen Google Flutter 1.20 had uitgebracht in 2020 was het aantal van beschikbare Flutter apps in de Play Store gestegen van 50.000 naar 90.000. In maart 2021, voor de publicatie van Flutter 2, waren er al meer dan 150.000 Flutter apps in de Play Store. Met name de lancering van Flutter 3 in mei 2022 breidde het bereik van het platform enorm uit, omdat het aantal apps vele malen groter werd. Volgens bronnen hebben Flutter ontwikkelaars al meer dan 500.000 apps beschikbaar. Wij van Monstarlab zijn er zeker van dat het aantal zal blijven toenemen naarmate de populariteit van Flutter groeit.
Vergelijkbare Cross-Platform Frameworks
React Native
Als je kijkt naar andere cross-platform frameworks zoals React Native, valt er één verschil erg op. React Native, wat gecreëerd is door Facebook, stelt programmeurs ook in staat om cross-platform ontwikkelingen uit te voeren. Wat anders is van Flutter is dat React Native JavaScript als programmeertaal gebruikt. Een groot voordeel hiervan is dat veel professionals al bekend zijn met deze taal, terwijl Dart minder bekend is. React Native is echter beperkt door zijn architectuur en kan niet gemakkelijk andere platforms zoals Windows ondersteunen. Flutter, daarentegen, ondersteunt vele platforms, en een app die daarin is gemaakt kan met weinig moeite ook werken op macOS, Linux of Windows. Flutters architectuur is vergelijkbaarder met andere native frameworks dan React Native, wat ervoor zorgt dat het flexibeler is in het bouwen van hoge kwaliteit en interessante user interfaces.
Xamarin en Ionic
Andere vergelijkbare frameworks zijn Xamarin en Ionic. Xamarin kwam in 2011 al op de markt, maar presteert relatief gezien minder goed dan Flutter. Een reden hiervoor is dat de apps die hiermee ontwikkeld zijn veel geheugen nodig hebben. De cross-platform framework Ionic, uitgekomen in 2019, ondersteunt apps van dezelfde complexiteit als Flutter. Flutter lijkt ons echter nog beter te presteren dan Ionic en heeft, in tegenstelling tot Ionic, extra native elementen waarover app-ontwikkelaars in de dagelijkse praktijk kunnen beschikken.
Voor- en nadelen
Voordelen van ontwikkelen met Flutter
Dus waarom zou Flutter gebruikt moeten worden voor een project?
- De mogelijkheid om gelijktijdig aantrekkelijke apps te maken voor iOS en Android platforms bespaart zowel tijd als middelen. De widgets van Flutter minimaliseren de tijd die aan testen wordt besteed door ervoor te zorgen dat er weinig compatibiliteitsproblemen zijn met verschillende versies van besturingssystemen.
- Flutter heeft niet alleen een zeer intuïtieve structuur, maar ook een declaratieve gebruikersinterface, die minder foutgevoelig is en gemakkelijker te testen. Het framework wordt ook gekenmerkt door nuttige functies zoals de “hot reload”-functie; Terwijl een simulatie loopt, kunnen wijzigingen in de code direct worden toegepast. Wijzigingen in de broncode worden dus onmiddellijk doorgevoerd. Dit draagt bij tot de efficiënte ontwikkeling van apps.
- De gebruikte programmeertaal, Dart, is ook prettig te leren door de gelijkenissen met al populaire talen. Al met al doen Flutter-apps sterk denken aan native ontwikkelingen doordat ze geen gebruik maken van de JavaScript Bridge, en zijn ze goed presterend.
Nadelen van ontwikkelen met Flutter
Zijn er enkele redenen om Flutter te ontwijken?
- Eén kritiekpunt van Flutter is dat door de complexe nesteling van widgets de code onoverzichtelijk wordt. Omdat alles individueel aangepast moet worden kan het moeilijk zijn om een app in een uniforme stijl te leveren en er zijn nog een aantal bugs die nog niet opgelost zijn.
- De nieuwste platform functies worden altijd eerst ondersteund in de native frameworks. Pas daarna wordt er ondersteuning voor ingebouwd in de 3rd-party frameworks. Hoewel nieuwe platform functies relatief snel in Flutter verschijnen, is er toch sprake van een zekere vertraging.
- Bovendien, hoewel Dart qua toepassing lijkt op andere talen, is het meer gericht op mensen die al een programmeertaal kennen.
Het gebruik van Flutter voor app ontwikkeling wordt steeds populairder. Overweeg je om je product te bouwen met een krachtige en betrouwbare technologie als Flutter? Neem dan gerust contact op met onze Technical Director Matko Smoljan:
Voorbeelden van Flutter apps
Laten we ten slotte kijken naar een aantal app voorbeelden die geprogrammeerd zijn met Flutter. Er zijn al veel succesvolle Flutter apps op de markt, zoals BMW, eBay, Google Pay, Alibaba Group en veel meer. In ieder geval wordt al snel duidelijk wat een enorm scala aan apps het Flutter framework met zijn functionele tools kan bieden en volgens alle indicaties zal dit nummer alleen nog verder toenemen. Flutter is ook interessant voor game development, omdat het simpele en snelle ontwikkeling mogelijk maakt.
Onze conclusie over Flutter
Over het geheel genomen lijkt Flutter dus niet alleen snel in populariteit te zijn gestegen in de afgelopen jaren, maar zal het ook in de toekomst in populariteit blijven toenemen. Steeds meer ontwikkelaars en bedrijven maken gebruik van cross-platform frameworks om efficiënt en kwalitatief te kunnen werken. Dit lukt uitstekend met de gebruikersinterface van Flutter, die vaak als intuïtief wordt omschreven.
Sources:
https://www.nomtek.com/blog/flutter-app-examples
https://it-talents.de/it-wissen/was-ist-flutter/
https://www.finanzfunke.com/flutter-und-react-native-die-zukunft-der-app-entwicklung/
https://pub.dev/packages/flutter_ui_toolkit
https://hackr.io/blog/react-native-vs-flutter
https://docs.microsoft.com/de-de/xamarin/get-started/what-is-xamarin
https://kruschecompany.com/de/flutter-vs-react-native-wann-ist-welche-loesung-besser/