Zum Hauptinhalt springenZum Seitenfuß springen

 |  Blog

Produktive App-Entwicklung mit Flutter

Moderne Software-Applikationen werden nicht für eine spezifische Plattform entworfen. Sie sollen auf möglichst vielen Endgeräten mit unterschiedlicher Hardware, Betriebssystemen und Displays reibungslos funktionieren. Traditionell ist die Entwicklung solcher Apps eine Herausforderung: Mit jeder zusätzlichen Zielplattform steigt der Entwicklungsaufwand und damit die Kosten. Mithilfe von plattformübergreifenden Entwicklungsumgebungen wie React und Ionic können Apps für mehrere Plattformen aus einer Codebasis erstellt werden. Sie sind jedoch oft komplex zu bedienen und erfordern durch zusätzliche Übersetzungsebenen Kompromisse bei der Performance. Ein junges Framework verspricht eine Lösung für diese Nachteile: Flutter.

Flutter ist…

Flutter ist ein von Google veröffentlichtes, plattformübergreifendes Open-Source-Entwicklungsframework. Es wurde erstmals auf dem Dart Developer Summit 2015 vorgestellt und erhielt seine erste stabile Version mit dem Release der Version 1.0 am 4. Dezember 2018. Flutter ist in der ebenfalls von Google entwickelten Programmiersprache Dart geschrieben. Als Multiparadigmensprache unterstützt Dart funktionale, imperative, objektorientierte und reflexive Programmierung und nutzt Typinferenz für sein statisches und starkes Typsystem.

…anpassungsfähig.

In Flutter ist alles ein Widget: Buttons, Textfelder, Listen, Paddings und Fonts teilen sich alle denselben Objekttyp. Widgets können zu neuen Widgets kombiniert werden, indem sie beliebig angeordnet, verknüpft und verschachtelt werden, bis sie zusammen das App-Widget bilden: Die Ansicht, die den Nutzer:innen auf ihren Geräten angezeigt wird. Widgets sind auf jeder Ebene anpassbar, bei Bedarf können sogar völlig neue Grundbausteine selbst entwickelt werden. So lassen sich auf einfache Weise ästhetische, informative, funktionale und zugleich reaktionsfähige Benutzeroberflächen entwickeln, die den eigenen Anforderungen und Vorstellungen entsprechen. Aus einer Codebase können dann Apps für Android, iOS, Windows, MacOS, Linux und Web erstellt werden.

…schnell.

Flutter kompiliert zu performantem, plattform-spezifischem Code. Im Gegensatz zur Alternative React Native, das beispielsweise über eine JavaScript-Bridge mit nativen Widgets kommuniziert, spart sich Flutter dadurch große Performance-Einbußen und läuft sehr effizient. Flutter nutzt die eigene Grafik-Engine „Impeller“, die durch die Verwendung moderner Grafik-APIs wie Metal und Vulkan zusätzliche Performance-Vorteile bietet. Das Ergebnis ist ein flüssiges, ruckelfreies Benutzererlebnis und ein geringer Energieverbrauch.

…produktiv.

Flutter hat das Potential, die Produktivität in der Entwicklung zu steigern. Laut einer Entwicklerumfrage konnten die Teilnehmer nach Adoption von Flutter die Entwicklung ihrer App beschleunigen. Auch die Ästhetik und Performance profitierten. Außerdem konnten die Befragten ihre Produkte auf mehr Plattformen anbieten als zuvor.

Diese Ergebnisse können wir durch unsere eigene Evaluation bestätigen: Der Einstieg in Flutter ist dank einer hervorragenden Dokumentation und eines eigenen YouTube-Kanals einfach. Sind die Grundlagen erst einmal erlernt, liefert Flutter in kurzer Zeit zufriedenstellende Ergebnisse.

Fazit

Flutter ist ein attraktives Framework für die moderne Appentwicklung. Weniger Entwicklungsaufwand für bessere Ergebnisse auf mehr Plattformen und ein quelloffenes Modell sind überzeugende Argumente. Natürlich sind bei der Wahl einer Entwicklungsumgebung immer die individuellen Anforderungen des Projektes zu berücksichtigen.

Wünschen Sie eine individuelle Beratung, welches Framework am besten zu den Anforderungen Ihrer Applikation passt? Zögern Sie nicht, unsere Experten zu kontaktieren.

Über den Autor

 

Moritz Putzenlechner studiert im Bachelor Allgemeine Informatik an der Hochschule Furtwangen und spezialisiert sich dabei auf die Softwareentwicklung. Während seines Praxissemesters bei M&M Software unter dem Thema „Evaluierung von Flutter“ befasste er sich eingehend mit der Verwendbarkeit des Frameworks für die mobile Appentwicklung, und seinen Vor- und Nachteilen gegenüber weiteren Alternativen. 

Erstellt von