Anzeige
Anzeige
Ratgeber

Warum Flutter eine vielversprechende Alternative für die Entwicklung von Cross-Plattform-Apps ist

Flutter ist ein neues Open-Source-SDK von Google für die plattformübergreifende Entwicklung von mobilen Apps. Das sind die Besonderheiten des UI-Frameworks.

Von Henrik Dransfeld
4 Min.
Artikel merken
Anzeige
Anzeige

(Bild: Google)

Wer eine App für mehr als ein Betriebssystem entwickeln will, dem stehen immer mehr Möglichkeiten zur Verfügung. React Native, Nativescript, Xamarin, Ionic und jetzt eben Flutter: Alle Tools versprechen plattformübergreifende Apps mit nur einer Codebasis. Doch jede Technologie hat auch ihre Stärken und Schwächen, weshalb man sich im Vorhinein gut überlegen sollte, auf welches Pferd man setzt.

Hohe Performance dank eigener Render-Engine

Anzeige
Anzeige

Im Gegensatz zu React Native, Nativescript und Xamarin verwendet Flutter nicht die nativen UI-Komponenten von Android und iOS. Ähnlich wie eine Game-Engine zeichnet Flutter den Screen-Inhalt mit einer 2D-Render-Engine komplett selbst. Trotzdem sehen Flutter-Apps aus wie native Apps. Das Team von Google war fleißig und hat alle wichtigen UI-Komponenten von Android und iOS nachgebaut. Man muss schon sehr genau hinschauen, um Unterschiede zu den Originalen zu erkennen. Und die Mühe lohnt sich: Die Performance von Flutter-Apps ist hervorragend und Animationen laufen butterweich.

Auch allgemein sind die UI-Komponenten Flutters große Stärke: Wer auf Googles Material Design zurückgreifen will, kann aus dem Vollen schöpfen. iOS-Komponenten sind dagegen immer noch etwas unterrepräsentiert. Besonders aber lässt Flutter die Herzen von Designern und Marketing-Managern höherschlagen, denn benutzerdefinierte UI-Elemente mit komplett individuellem Branding lassen sich unkompliziert erstellen. Weniger zu empfehlen ist Flutter dagegen für Projekte, die jeweils ein natives Look-and-Feel auf Android und iOS anstelle eines einheitlichen Interfaces bieten wollen.

Anzeige
Anzeige

Einen ersten Eindruck von den bereitstehenden UI-Widgets könnt ihr in der Flutter-Gallery-App für Android gewinnen.

Anzeige
Anzeige

Native Funktionen lassen sich mit Plugins realisieren

App-Entwickler verbringen vermutlich die meiste Arbeitszeit mit der Programmierung von Listen und Formularen. Für solche Aufgaben eignet sich Flutter dank seines flexiblen Programmiermodells hervorragend. Doch fast jede App benötigt auch einige Systemfunktionen, zum Beispiel den Zugriff auf die Kamera, die Kontakte oder die zahlreichen Sensoren. Flutter ermöglicht die Integration von nativem Code über Plugins. Sie stellen einen Kommunikationskanal zwischen Flutter-Code und dem nativen Code bereit. Für viele Aufgaben gibt es bereits fertige Plugins vom Flutter-Team und der Community. Wer spezifischere Anforderungen hat, kommt jedoch kaum darum herum, eigene Plugins zu schreiben, und benötigt dementsprechend Kenntnisse in den entsprechenden Programmiersprachen und nativen SDK. Und auch wenn Plugins viele native Funktionen bereitstellen können — irgendwann ist Schluss. Wer seine App wirklich tief in das Betriebssystem integrieren will, etwa mit Hintergrunddiensten, der wird früher oder später auf größere Hindernisse stoßen.

Plugins sind auch das Mittel der Wahl, um bestehenden Code oder Bibliotheken in eine Flutter-App zu integrieren. Vor Projektbeginn sollte daher geprüft werden, wie umfangreich dieser native Code sein wird, um abzuwägen, ob sich die Verwendung von Flutter noch lohnen wird.

Anzeige
Anzeige

Starke Developer-Experience

Flutter-Apps werden mit der Programmiersprache Dart entwickelt. Sie ist leicht zu erlernen, aber nicht ganz so ausdrucksstark wie Kotlin oder Swift. Das Programmiermodell erinnert stark an das reaktive und komponentenbasierte React.js, sodass auch Webentwickler einen schnellen Einstieg finden dürften. Das SDK vermag es, einfache, aber äußerst flexible Widgets bereitzustellen, aus denen überraschend komplexe Layouts zusammengesetzt werden können.

Das sogenannte Hot Reloading reduziert die Kompilierzeit drastisch. Änderungen am Code werden innerhalb weniger Sekunden und ohne den Verlust des aktuellen View-States übernommen. Insbesondere bei der Feinjustierung des User-Interfaces lässt sich so viel Zeit sparen. Die Entwicklung mit Flutter macht richtig Spaß und geht meist schneller von der Hand als bei der nativen Entwicklung.

Die Euphorie wird dadurch etwas gedämpft, dass Flutter noch immer in der Prerelease-Phase ist und noch einige Bugs enthält. Etwas Kreativität und Flexibilität bei der Problemlösung sind also Voraussetzung. Wer strengen Spezifikationen folgen muss und langfristige API-Stabilität benötigt, ist mit Flutter derzeitig wohl (noch) nicht gut bedient. In der Flutter-Community kursieren aber bereits Gerüchte, dass der offizielle Release am 4. Dezember auf der „Flutter Live“ in London bekannt gegeben werden könnte.

Anzeige
Anzeige

Fazit

Wer mit seiner App hauptsächlich Daten erfassen und anzeigen will, kann mit einem Cross-Plattform-SDK wie Flutter viel Zeit sparen. Flutter zeichnet sich besonders durch seine vielseitigen und hübschen UI-Elemente und die hervorragende Performance aus. Apps im Material-Design-Look oder auch mit einem ganz eigenen Branding lassen sich mit Flutter zügig realisieren.

Eine gute App benötigt natürlich auch Zugriff auf Systemfunktionen, sonst hätte sie kaum einen Vorteil gegenüber einer mobilen Website. Das Plugin-Konzept von Flutter ermöglicht die Integration von nativem Code, womit sich grundlegende Systemzugriffe realisieren lassen. Es eignet sich dagegen weniger, wenn diese Funktionen den Kern der App bilden und sich tief ins Betriebssystem integrieren sollen.

Entwickler werden ihren Spaß mit Flutter haben. Ein Grundverständnis über die darunter liegenden Betriebssysteme iOS und Android sowie deren Build-Prozess kann jedoch nicht schaden, da Flutter aufgrund seines jungen Alters hier und da noch nicht ganz rund läuft.

Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige