Flutter – native Apps in Rekordzeit?

Letzte Woche präsentierte Google im Rahmen des MWC (Mobile World Congress) die erste Beta-Version des Mobile-UI-Frameworks Flutter. Somit wurde zu den zahlreich vorhandenen Möglichkeiten, die man bereits zur App Entwicklung hat, eine weitere hinzugefügt. Doch was unterscheidet Flutter von den anderen Frameworks? Diese Antwort und noch weitere Infos über Flutter gibt es im heutigem Blog.

Heutzutage gibt es unzählige Möglichkeiten Apps sowohl für iOS und Android zu entwickeln. Jeweils eine native App für Android und iOS, Webapps, oder man nutzt Tools wie Xamarin, React Native, Ionic usw. Letzte Woche hat Google ein ähnliches Projekt in einer Beta-Version veröffentlicht: Flutter. Das Cross-Plattform Framework soll es Entwicklern erleichtern, qualitativ hochwertige Apps für Android und iOS zu erstellen.

Besonderheiten

Flutter wartet mit vielen nützlichen Features auf: GPU beschleunigte Grafik und Rendering Engine, pixelgenaue Darstellung der Views, indem auf systemeigene iOS und Android-Views verzichtet und alle Komponenten mit der Flutter Grafikengine gerendert werden. Aber auch die Erweiterung einer bestehenden App gestaltet sich recht einfach, indem man zum Beispiel die Views mit Flutter erstellt und dann auf die bestehenden ObjectiveC/Swift/Java Methoden zugreift.

Ein absolutes Killer-Feature ist jedoch das „Stateful Hot-Reload“. Anders als bei bisherigen Hot-Reload Lösungen wie zum Beispiel von React, wird beim Flutter Hot-Reload der aktuelle Status der App beibehalten und nur die Änderungen, die seit dem letzten Reload passiert sind, werden angewandt. Das beschleunigt die Entwicklung enorm, da man die Änderungen gleich nach dem Speichern sieht, ohne wieder durch die App navigieren zu müssen, um den vorherigen State wiederherzustellen.

Einstieg

Der Einstieg in Flutter gestaltet sich recht einfach, da es bereits Integrationen für Android Studio/IntelliJ, Visual Studio Code und Xcode gibt und die Installation gut dokumentiert ist. 🙂 Das Erstellen von User Interfaces ist durch die vielen bereits mitgelieferten UI-Elemente (Widgets) sehr einfach. Das einzige was vielleicht ein bisschen schmerzt, ist die Programmiersprache: Flutter ist in Googles Programmiersprache Dart geschrieben. Also eine weitere Programmiersprache, die man als App-Entwickler neben ObjectiveC, Swift, Java, Kotlin, Javascript, Typescript, … lernen darf.

Der Einstieg in Dart fällt aber überraschend einfach, da sich die Syntax sehr an bekannte und etablierte Programmiersprachen anlehnt.

Ökosystem

Laut den Entwicklern gibt es bereits über tausend Softwarepakete, die für das Entwickeln von Apps verfügbar sind, wie zum Beispiel Firebase, SQlite und Facebook Connect. Die Entwickler planen alle vier Wochen ein neues Release und bis zur Google Entwicklerkonferenz „Google I/O“ Anfang Mai 2018 werden sicher noch einige spannende Features hinzugefügt.

Fazit

Für erfahrene Entwickler bietet sich Flutter dahingehend an, dass es sehr einfach in bestehende Projekte und Entwicklungsumgebungen eingebaut werden kann, aber auch Einsteiger in die App-Entwicklung finden sich durch die Einfachheit des Frameworks sehr schnell zurecht und können in überaus kurzer Zeit sehenswerte Ergebnisse erzielen.

Flutter ist auch als Kampfansage von Google gegen React Native und Facebook zu sehen, indem es plattformübergreifenden Code, extrem schnelle und einfache Entwicklung und – im Gegensatz zu React Native – bereits viele UI-Widgets von Haus aus mitliefert. Noch befindet sich Flutter in der Beta Phase, doch es sieht schon sehr vielversprechend aus und man darf gespannt sein wie sich diese zwei Frameworks weiterentwickeln werden.