Flutter

From Android Wiki

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 Jahr 2015 wurde Flutter noch unter dem Codenamen Sky erstmals öffentlich vorgestellt.[8][16]
  • 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]

Einzelnachweise[edit | edit source]

  1. 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.
  2. 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. 
  3. "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. 
  4. Ayush Shekhar (2019-05-08). "Flutter For Web: Create and Deploy a Website From Scratch" (in English). medium.com. Abgerufen am 2020-09-24. 
  5. Wm Leler (2018-02-26). "Why Flutter Uses Dart" (in English). hackernoon.com. Abgerufen am 2018-05-22. 
  6. 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. 
  7. "Introduction to declarative UI" (in English). flutter.dev. Abgerufen am 2019-12-31. 
  8. 8,0 8,1 Kai König: Aus einem Topf. Cross-Plattform-Entwicklung mit Flutter. In: iX (Heise-Verlag). Nr. 4, 2019, S. 70.
  9. 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. 
  10. "FAQ - Flutter" (in English). flutter.dev (offizielle Dokumentation zu Flutter). Abgerufen am 2020-10-05. 
  11. 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. 
  12. "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 
  13. 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 
  14. 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. 
  15. "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. 
  16. Rainald Menge-Sonnentag (2015-11-13). "Cross-Plattform-Entwicklung: Aus Googles Project Sky wird Flutter". heise.de. Abgerufen am 2019-03-24. 
  17. Alexander Neumann (2018-12-05). "Cross-Plattform-Entwicklung: Google gibt Flutter 1.0 frei". heise.de. Abgerufen am 2018-12-05. 
  18. 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.