© prettyboy80/Shutterstock.com
Mobile Technology
App-Entwicklung mit Googles Cross Platform Framework

Mach die Flutter!

Google veröffentlichte 2017 die erste Alphaversion eines neuen Frameworks zur Entwicklung von plattformunabhängigen mobilen Applikationen. Das auf den Namen Flutter getaufte Framework basiert auf der Programmiersprache Dart und verfolgt einen anderen Ansatz als bisherige Frameworks, wie beispielsweise Facebooks React Native oder Native Script von Telerik. Seit Dezember 2018 hat das Projekt Version 1.0 erreicht.

Carsten Sandtner


Flutter tritt an, um die plattformunabhängige App-Entwicklung zu vereinfachen. Anders als bereits existierende Frameworks verwendet Flutter nicht die nativen UI-Komponenten der Plattformen. Zum Zeichnen der Komponenten wird eine eigene Rendering-Engine namens Skia [1] benutzt. Damit das Look and Feel der jeweiligen Plattformen gewährleistet ist, hat das Flutter-Team alle wichtigen Elemente von iOS und Android nachgebaut (wobei iOS etwas stiefmütterlich behandelt wird, Androids Material Design dagegen erwartungsgemäß gut umgesetzt ist). Was im ersten Moment wie ein Nachteil klingt, ist bei Apps mit eigenem Design und Branding keiner mehr. Hier hat Flutter eindeutig seine Stärken. Was das im Einzelnen bedeutet, sehen wir im weiteren Verlauf des Artikels genauer. Doch so viel vorab: Ein UI-Design-Editor wird bei Flutter nicht mitgeliefert. Weder Xcodes Storyboard noch Androids Layouteditor werden unterstützt. Die Beschreibung des UI ist, ähnlich wie bei React oder VueJS, im Quellcode verankert. Das macht Flutter vor allem für Entwickler sehr intuitiv und einfach zu erlernen und ist weniger tragisch, als es im ersten Moment erscheint.Dart?Flutter basiert auf Googles hauseigener Programmiersprache Dart [2]. Version 1.0 ist 2013 erschienen, inzwischen ist Version 2.0 aktuell. Dart hat den Anspruch, für die Web- und App-Entwicklung eine einfache, schnell zu erlernende und robuste Programmiersprache zu sein. Eine klare Syntax, viele bereits enthaltene Core-Module und ein großes Ökosystem von verfügbaren Paketen tragen ebenso dazu bei wie eine aktive Community.Die Sprachsyntax ähnelt der von C, sodass der Umstieg von Sprachen wie C/C++, Java oder JavaScript schnell zu schaffen ist. Dart ist streng typisiert und objektorientiert. Durch die Kompilierung zu ARM- und x86-Code sind Dart-Programme auf mobilen Betriebssystemen, wie Android oder iOS, ausführbar. Ein Dart Transpiler sorgt für die Konvertierung in JavaScript-Code, was Dart auch im Web zu einer Alternative machen soll. Dart kann den Quelltext in zwei Varianten kompilieren: JIT: Wie bei JavaScript wird der Code just in time während der Ausführung kompiliert bzw. interpretiert. Das ermöglicht ein Hot Reloading der Programme während der Entwicklung. Auf diesen nicht unerheblichen Vorteil während der Entwicklung kommen wir später zurück. AOT: Ahead-of-Time-Kompilierung erstellt nativen ARM- oder x86-Code, der so die Ausführung auf den Endgeräten ermöglicht und damit erst die Distribution als App. Bekannt...

Mobile Technology
App-Entwicklung mit Googles Cross Platform Framework

Mach die Flutter!

Google veröffentlichte 2017 die erste Alphaversion eines neuen Frameworks zur Entwicklung von plattformunabhängigen mobilen Applikationen. Das auf den Namen Flutter getaufte Framework basiert auf der Programmiersprache Dart und verfolgt einen anderen Ansatz als bisherige Frameworks, wie beispielsweise Facebooks React Native oder Native Script von Telerik. Seit Dezember 2018 hat das Projekt Version 1.0 erreicht.

Carsten Sandtner


Flutter tritt an, um die plattformunabhängige App-Entwicklung zu vereinfachen. Anders als bereits existierende Frameworks verwendet Flutter nicht die nativen UI-Komponenten der Plattformen. Zum Zeichnen der Komponenten wird eine eigene Rendering-Engine namens Skia [1] benutzt. Damit das Look and Feel der jeweiligen Plattformen gewährleistet ist, hat das Flutter-Team alle wichtigen Elemente von iOS und Android nachgebaut (wobei iOS etwas stiefmütterlich behandelt wird, Androids Material Design dagegen erwartungsgemäß gut umgesetzt ist). Was im ersten Moment wie ein Nachteil klingt, ist bei Apps mit eigenem Design und Branding keiner mehr. Hier hat Flutter eindeutig seine Stärken. Was das im Einzelnen bedeutet, sehen wir im weiteren Verlauf des Artikels genauer. Doch so viel vorab: Ein UI-Design-Editor wird bei Flutter nicht mitgeliefert. Weder Xcodes Storyboard noch Androids Layouteditor werden unterstützt. Die Beschreibung des UI ist, ähnlich wie bei React oder VueJS, im Quellcode verankert. Das macht Flutter vor allem für Entwickler sehr intuitiv und einfach zu erlernen und ist weniger tragisch, als es im ersten Moment erscheint.Dart?Flutter basiert auf Googles hauseigener Programmiersprache Dart [2]. Version 1.0 ist 2013 erschienen, inzwischen ist Version 2.0 aktuell. Dart hat den Anspruch, für die Web- und App-Entwicklung eine einfache, schnell zu erlernende und robuste Programmiersprache zu sein. Eine klare Syntax, viele bereits enthaltene Core-Module und ein großes Ökosystem von verfügbaren Paketen tragen ebenso dazu bei wie eine aktive Community.Die Sprachsyntax ähnelt der von C, sodass der Umstieg von Sprachen wie C/C++, Java oder JavaScript schnell zu schaffen ist. Dart ist streng typisiert und objektorientiert. Durch die Kompilierung zu ARM- und x86-Code sind Dart-Programme auf mobilen Betriebssystemen, wie Android oder iOS, ausführbar. Ein Dart Transpiler sorgt für die Konvertierung in JavaScript-Code, was Dart auch im Web zu einer Alternative machen soll. Dart kann den Quelltext in zwei Varianten kompilieren: JIT: Wie bei JavaScript wird der Code just in time während der Ausführung kompiliert bzw. interpretiert. Das ermöglicht ein Hot Reloading der Programme während der Entwicklung. Auf diesen nicht unerheblichen Vorteil während der Entwicklung kommen wir später zurück. AOT: Ahead-of-Time-Kompilierung erstellt nativen ARM- oder x86-Code, der so die Ausführung auf den Endgeräten ermöglicht und damit erst die Distribution als App. Bekannt...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang