Flutter
Flutter ist ein Framework von Google für die Cross-Platform-Entwicklung. Mit Flutter entwickelte Apps können neben den mobile Betriebssystemen Android und iOS[1] auch unter den Desktop-Betriebssystemen Windows, MacOS und Linux[2][3] sowie als Webapp[4] ausgeführt werden. Als Programmiersprache kommt hierbei das ebenfalls von Google stammdende Dart zum Einsatz.[5][6] Die Oberfläche wird deklarativ beschrieben.[7] Flutter ist als primäre Technik für die Realisierung von grafischen Benutzeroberflächen für den potenziellen Android-Nachfolger Fuchsia geplant.[8][9]
Für Tests während der Entwicklung wird der Dart-Code von einer virtuellen Maschine genannten Interpreter ausgeführt, während der Dart-Code für die fertige App (die z.B. in einen App-Store hochgeladen wird) einmalig von einem Compiler in nativen Maschinencode für Android (x86 oder ARM) bzw. iOS (ARM) übersetzt wird, was schneller in der Ausführung ist.[10] Die Elemente auf der grafischen Oberfläche der App (z.B. Schaltflächen, Texte und Listen) werden von Flutter zur Laufzeit selbst gezeichnet ("gerendert"), es wird also nicht auf die nativen Oberflächen-Elemente von Android oder iOS zurückgegriffen.[11][12][13] Damit die Optik der App zu dem mobilen Betriebssystem passt, stehen die Widgets in "Material Design" für Android und in "Cupertino" für iOS bereit.[14][15]
Zeitliche Entwicklung[edit | edit source]
- Im Dezember 2018 wurde die Version 1.0 von Flutter freigegeben.[17]
- Im Mai 2019 wurde auf der Google I/O bekannt gegeben, dass mit dem Framework auch Desktop- und Web-Apps erstellt werden können.[18]
Weblinks[edit | edit source]
- Offizielle Homepage von Flutter
- Artikel auf offiziellem Entwickler-Blog von Google zur Veröffentlichtung der Beta3-Version von Flutter im Mai 2018
- Flutter Studio
Einzelnachweise[edit | edit source]
- ↑ Tam Hanna & Jörg Wirtgen: Android- und iOS-Entwicklung mit Dart und Google Flutter. In: c't (Heise-Verlag). Nr. 11, 2018, S. 90-91.
- ↑ Rainald Menge-Sonnentag (2020-09-24). "Cross-Plattform-Entwicklung: Googles Flutter fliegt auf Windows". heise.de. Abgerufen am 2020-09-24.
Microsofts Betriebssystem ist der Nachzügler unter den Zielplattformen für das Framework, das bereits iOS, Android, macOS, Linux und das Web bedient.
- ↑ "Desktop support for Flutter" (in English). flutter.dev. Abgerufen am 2020-09-24.
Desktop support allows you to compile Flutter source code to a native Windows, macOS, or Linux desktop app.
- ↑ Ayush Shekhar (2019-05-08). "Flutter For Web: Create and Deploy a Website From Scratch" (in English). medium.com. Abgerufen am 2020-09-24.
- ↑ Wm Leler (2018-02-26). "Why Flutter Uses Dart" (in English). hackernoon.com. Abgerufen am 2018-05-22.
- ↑ Paul Krill (2018-02-23). "What’s new in Google’s Dart language" (in English). infoworld.com. Abgerufen am 2018-05-22.
Google’s Dart language, once positioned a potential replacement for JavaScript in the browser, is being rebooted for client-side web and mobile development in Version 2 of the language.
- ↑ "Introduction to declarative UI" (in English). flutter.dev. Abgerufen am 2019-12-31.
- ↑ 8,0 8,1 Kai König: Aus einem Topf. Cross-Plattform-Entwicklung mit Flutter. In: iX (Heise-Verlag). Nr. 4, 2019, S. 70.
- ↑ Ron Amadeo (2017-05-08). "Google’s “Fuchsia” smartphone OS dumps Linux, has a wild new UI" (in English). arstechnica.com. Abgerufen am 2019-03-24.
The interface and apps are written using Google's Flutter SDK, a project that actually produces cross-platform code that runs on Android and iOS.
- ↑ "FAQ - Flutter" (in English). flutter.dev (offizielle Dokumentation zu Flutter). Abgerufen am 2020-10-05.
- ↑ Adam Pedley (2018-04-23). "How Flutter Works" (in English). buildflutter.com. Abgerufen am 2020-10-05.
The UI is built and rendered on a Skia Canvas as it changes.
- ↑ "How Flutter works under the hood and why it is game-changing". elevatex.de. 2019-04-29. Abgerufen am 2020-10-05.
Widgets are rendered onto a Skia canvas with support for advanced animations and gesture recognition
- ↑ Marco Bellinaso (2018-11-23). "Flutter: the good, the bad and the ugly" (in English). medium.com. Abgerufen am 2020-10-05.
Rather than being a wrapper on top of the iOS/Android-specific native UI components (which is what React Native and Xamarin do), it really draws the UI from scratch on a ‘screen canvas’, through a fast C++ 2D graphics library called Skia
- ↑ Muhammad Saeed (2019-11-11). "Flutter: Material + Cupertino make together" (in English). medium.com. Abgerufen am 2020-10-05.
[...] CupertinoApp is used to build iOS like app and MaterialApp is used to build Android (Material) like app.
- ↑ "Building a Cupertino app with Flutter" (in English). Codelabs auf developers.google.com. Abgerufen am 2020-10-05.
Material widgets implements the Material design language for iOS, Android, web, and desktop. Cupertino widgets implements the current iOS design language based on Apple's Human Interface Guidelines.
- ↑ Rainald Menge-Sonnentag (2015-11-13). "Cross-Plattform-Entwicklung: Aus Googles Project Sky wird Flutter". heise.de. Abgerufen am 2019-03-24.
- ↑ Alexander Neumann (2018-12-05). "Cross-Plattform-Entwicklung: Google gibt Flutter 1.0 frei". heise.de. Abgerufen am 2018-12-05.
- ↑ Alexander Neumann (2019-05-08). "Entwicklungs-Framework: Flutter wird zum Multi-Plattform-Werkzeug". heise.de. Abgerufen am 2019-05-08.
So sollen sich mit derselben Codebasis künftig sowohl mobile Apps als auch Web- und Desktop- bis hin schließlich zu Embedded-Anwendungen entwickeln lassen.
- ↑ Rainald Menge-Sonnentag (2021-03-04). "Cross-Plattform-Entwicklung: Flutter 2 will den Desktop erobern". heise.de. Abgerufen am 2021-03-04.
- ↑ Cody Toombs (2021-03-04). "Cody Toombs" (in English). androidpolice.com. Abgerufen am 2021-03-04.