-
Notifications
You must be signed in to change notification settings - Fork 2
01. Flutter
Flutter ist ein natives, plattformübergreifendes Framework, das 2018 von Google entwickelt wurde. Es verspricht native App Performance durch das Kompilieren von Apps für verschiedene Plattformen auf Grundlage einer einzigen Codebase. Dadurch müssen Anwendungen nur einmal geschrieben werden.
Das Programm soll auf folgenden Zielplattformen lauffähig sein:
- WebApp
- Android
- iOS
- Windows
- Linux
- macOS
- Google Fuchsia
Die Programme werden für die jeweilige Zielplattform kompiliert und in einer Dart-Virtual-Machine ausgeführt. WebApps werden in JavaScript übersetzt und sind somit direkt in modernen Webbrowsern lauffähig.
Die essentiellen Vorteile von Flutter sind die schnelle Entwicklung, ausdrucksstarke UIs und die native Performance. Die schnelle Entwicklung wird durch einen Hot Reload Button ermöglicht, bei dem Änderungen im Code in der laufenden Anwendung nahezu sofort dargestellt werden. Ausdrucksstarke, schöne UIs werden durch Material Design und Cupertino Widgets, sowie Rich Motion APIs und ein natürliches Scrollerlebnis ermöglicht. Die native Performance wird durch Plattformbewusstsein verbessert.
Flutter ist in C++ geschrieben und besteht unter anderem aus der Rendering-Engine Skia sowie der Programmiersprache Dart.
Skia wird zum Zeichnen der Komponenten genutzt und baut die wichtigen Elemente von iOS und Android nach.
Dart ist die Google-eigene Programmiersprache. Sie erschien 2013 in ihrer ersten Version und hat den Anspruch einer einfachen, schnell zu erlernenden, robusten Programmiersprache für die Web- und Appentwicklung. Die Dart Syntax ähnelt C.
Dart kompiliert JIT (just in time) und AOT (ahead of time). Der JIT-Compiler ermöglicht unter anderem den Hot Reload und kompiliert nur die Dateien, die sich geändert haben. Dieser Compiler wird während der Entwicklung genutzt und funktioniert wie bei JavaScript. Der AOT-Compiler ermöglicht die Verteilung als App und kompiliert alle Abhängigkeiten ahead of time. Das Endprodukt ist dadurch schneller und insbesondere für mobile Betriebssysteme geeignet. Dieser Compiler wird für das Release genutzt.
Flutter ist ein deklaratives Framework. Das bedeutet, dass nur beschrieben wird, welches Ergebnis erzielt werden soll, nicht, wie es erzielt wird. Das wird dem Framework überlassen.