
Was ist Flutter?
Flutter ist ein Framework zur Entwicklung von mobilen Anwendungen für die Betriebssysteme Android und IOS. Entwickelt wurde es von Google und auf der Dart Developer Summit 2015 wurde es das erste Mal vorgestellt. Am 4. Dezember 2018 wurde Flutter 1.0 veröffentlicht was auch das Ende der Betaphase markiert.
Um Flutter verwenden zu können, muss die Applikation in Dart geschrieben werden, was aber kein großes Problem darstellt, da Dart große Parallelen zu Java oder C# aufweist.
Die Mindestversion, um Flutter Apps ausführen zu können, liegt bei 4.1 für Android und 8 bei IOS. Damit erreicht man 99% aller Handys mit Android oder IOS als Betriebssystem.
Warum Flutter anstatt native Android oder IOS Entwicklung?
Flutter liefert eine eigene Render Engine names Skia aus. Dies hat den Vorteil, dass keine Betriebssystem spezifischen Komponenten verwendet werden. Eine App, die in Flutter geschrieben wurde sieht auf Android 4.1 genau gleich wie auf Android 8.0 aus. Hingegen bei nativer Android Entwicklung kann die App auf den verschiedenen Android Versionen unterschiedlich aussehen.
Einer der größten Vorteile von Flutter ist, dass nur mehr EINE Codebasis gewartet werden muss. Die gesamte Applikation wird in Flutter geschrieben und kann auf Android und IOS veröffentlicht werden und ist somit ideal für hybride Appentwicklung.
Sollte eine notwendige Funktionalität seitens Flutter nicht zur Verfügung gestellt werden, kann auf native plattformspezifische Komponenten direkt zugegriffen werden. Auch das Design kann pro Zielplattform spezifisch definiert werden, sollte das gewünscht oder notwendig sein.
Eines der bemerkenswertesten Features von Flutter ist das zustandsbasierte Hot-Reloading. Bei Änderungen im Code wird die neue Version auf dem Handy oder dem Emulator wirksam und der aktuelle Zustand der Applikation bleibt erhalten.
Welche Probleme bringt Flutter mit sich?
Da Flutter noch relativ neu und ist, ist die Anzahl der externen Bibliotheken noch nicht so umfangreich wie in anderen Sprachen, wobei es mittlerweile für fast alle benötigten Funktionalitäten eine Bibliothek von Google oder von der Community gibt.
Ausblick in die Zukunft
Hier steht das Projekt Hummingbird ganz oben. Hummingbird wird von Google entwickelt und ermöglicht Flutter als Webapplikation. Auf der Google I/O 2019 wurde das Projekt Hummingbird offiziell als „Flutter for Web“ präsentiert und als Technical Preview freigegeben.
Ein weiteres Projekt, das durch die Community getrieben und bereits von Google aufgegriffen wurde, ist „Flutter for Desktop“. Auch dieses Projekt wurde auf der Google I/O 2019 vorgestellt und ist ebenfalls als Technical Preview verfügbar.
Persönliche Erfahrungen
„Obwohl Flutter noch ziemlich neu ist, findet man im Internet für Probleme meistens eine Lösung. Gerade auf Stack Overflow ist Flutter eines der gefragtesten Technologien.
Die Art und Weise Apps mit Flutter zu schreiben ist extrem angenehm und ich würde eine Entwicklung mit Flutter immer einer Entwicklung auf nativen Android oder IOS vorziehen. Flutter liefert Komponenten für Material Design und Cupertino (IOS) mit, welche viel Stylingprobleme abnehmen. Auch Animationen und Seitenübergänge sind zum Teil implizit und können mit nur wenigen Zeilen Code verändert oder hinzugefügt werden.“