Das 2017 eigens von Google entwickelte Framework Flutter ermöglicht eine plattformunabhängige Entwicklung von Mobile Apps und stellt auf allen Endgeräten und Plattformen eine einheitliche User Experience und ein durchgängiges User Interface Design sicher. Flutter ist laut Statista seit 2019 die Top-2 Umgebung für Cross-Plattform Entwicklung, direkt nach React Native. Es verfügt über eine entsprechend aktive Community (123.000 Sterne auf Github) und eine Vielzahl an Entwickler:innen. Ausgezeichnete Dokumentation, ein schneller Entwicklungszyklus durch Hot-Reload sowie native-nahe Geschwindigkeit der Anwendung zur Laufzeit zeichnen die Sprache aus.
Die zu Flutter gehörige Programmiersprache Dart, ebenfalls von Google entwickelt, wird ständig weiterentwickelt und gepflegt und ist manchen vielleicht schon aus dem Web-Umfeld bekannt.
Mit Flutter sehen Anwendungen überall gleich aus und können auch an plattformspezifische Details, Gesten und Interaktionen angepasst werden. Apps für mehrere Plattformen werden auf einer Codebasis entwickelt. Getrennte Android- und iOS-Entwicklung gehört mit Flutter der Vergangenheit an. Das Framework spricht mit den plattformspezifischen APIs, gleicht sie an und arbeitet als native App auf dem Gerät des Endnutzers. Dadurch kann Flutter auch auf Funktionen wie GPS oder die Kamera zugreifen sowie einheitlich mit den dafür benötigten App-Berechtigungen umgehen. Im Gegensatz zu vielen anderen Cross-Plattform-Frameworks ist Flutter kein Wrapper um die nativen UI-Elemente, sondern zeichnet sie selbst, sodass die Anwendungen hier die volle Freiheit bezüglich des Aussehens und der Funktionen haben.
Nicht nur der Endnutzer hat diverse Vorteile durch Flutter, gerade auch den Entwickler:innen wird das Leben leichter gemacht. So lassen sich Änderungen am Code beispielsweise durch die “Hot Reload” Funktion direkt – ohne Neustart – in der Anwendung laden. Dadurch lassen sich Funktionen schnell hinzufügen und Fehler einfach beheben.
Durch den Open-Source-Ansatz und die ohnehin schon riesige Bibliothek an Paketen für Flutter hat man Zugriff auf unzählige Komponenten, mit denen man Ineffizienzen durch wiederholte Entwicklung vermeiden kann. Das Motto lautet “Alles ist ein Widget”. Verschiedene Widgets, die ineinander geschachtelt sind, bilden die Oberfläche des Programms, sie haben unterschiedliche Eigenschaften, die individuell anpassbar oder um zusätzliche Funktionen erweiterbar sind.
Flutter unterstützt offiziell neben Android und iOS auch macOS, Windows und Webbrowser als Zielplattformen. Zum jetzigen Zeitpunkt (September 2021) raten wir von einem produktiven Einsatz in Webbrowsern ab. Einschränkungen bei der Verfügbarkeit von Bibliotheken sowie limitierte Usability und Performance wiegen den Vorteil der gemeinsamen Codebasis noch nicht auf: hier setzen wir weiter auf etablierte Web-Frameworks wie Angular oder ReactJS.
Flutter ist ein tolles Framework für schnelle und agile Cross-Plattformentwicklung auf mobilen Endgeräten, auch wenn auf native APIs der jeweiligen Plattformen zugegriffen werden muss. Die Möglichkeiten von Flutter hinsichtlich kurzem Entwicklungszyklus, Testbarkeit sowie Continuous Integration und Deployment harmonieren perfekt mit unserem Software-Entwicklungsprozess
Wir haben bereits Erfahrung mit Flutter und die App NEBOLUS damit umgesetzt. Ein Location-Based Game für Smartphones, das mit Hilfe von Geodaten durch Stadtrallyes führt und Jugendlichen spielerisch Gesundheitskompetenzen vermitteln soll.
Nebolus im DetailHier gelangst du zu unseren Stellenanzeigen. Gerne kannst du uns auch einfach direkt anrufen. Wir freuen uns immer über Austausch und beantworten dir gerne alle Fragen, die du hast. Wir freuen uns von dir zu hören und dich kennenzulernen.
Zu unseren Stellenanzeigen