Zum Inhalt springen

Flutter: Unterschied zwischen den Versionen

Aus Android Wiki
Keine Bearbeitungszusammenfassung
Md 42 (Diskussion | Beiträge)
K Noch ein Einzelnachweis für Flutter 2.0
 
(20 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Flutter''' ist ein Framework von [[Google]] für die Entwicklung von Cross-Plattform-[[App|Apps]]. Mit ''Flutter'' entwickelte Apps sind sowohl unter [[Android]] als auch unter [[iOS]] ausführbar. Als Programmiersprache kommt hierbei [[Dart]] zum Einsatz.<ref>Tam Hanna & Jörg Wirtgen: [http://www.heise.de/artikel-archiv/ct/2018/11/90 ''Android- und iOS-Entwicklung mit Dart und Google Flutter'']. In: ''c't (Heise-Verlag)''. Nr. 11, 2018, S. 90-91.</ref>
'''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]]<ref>Tam Hanna & Jörg Wirtgen: [http://www.heise.de/artikel-archiv/ct/2018/11/90 ''Android- und iOS-Entwicklung mit Dart und Google Flutter'']. In: ''c't (Heise-Verlag)''. Nr. 11, 2018, S. 90-91.</ref> auch unter den Desktop-Betriebssystemen [[Windows]], [[MacOS]] und [[Linux]]<ref>{{Cite web | url = https://www.heise.de/news/Cross-Plattform-Entwicklung-Googles-Flutter-fliegt-auf-Windows-4910649.html | title = Cross-Plattform-Entwicklung: Googles Flutter fliegt auf Windows | author = Rainald Menge-Sonnentag | quote = Microsofts Betriebssystem ist der Nachzügler unter den Zielplattformen für das Framework, das bereits iOS, Android, macOS, Linux und das Web bedient. | accessdate = 2020-09-24 | date = 2020-09-24 | publisher = heise.de}}</ref><ref>{{Cite web | url = https://flutter.dev/desktop | title = Desktop support for Flutter | quote = Desktop support allows you to compile Flutter source code to a native Windows, macOS, or Linux desktop app. | accessdate = 2020-09-24 | publisher = flutter.dev | language = en}}</ref> sowie als [[Webapp]]<ref>{{Cite web | url = https://medium.com/flutter-community/flutter-create-and-deploy-a-website-from-scratch-4a026ebd6c | title = Flutter For Web: Create and Deploy a Website From Scratch | author = Ayush Shekhar | accessdate = 2020-09-24 | date = 2019-05-08 | publisher = medium.com | language = en}}</ref> ausgeführt werden. Als Programmiersprache kommt hierbei das ebenfalls von Google stammdende [[Dart]] zum Einsatz.<ref>{{Cite web | url = https://hackernoon.com/why-flutter-uses-dart-dd635a054ebf | title = Why Flutter Uses Dart | author = Wm Leler | accessdate = 2018-05-22 | date = 2018-02-26 | publisher = hackernoon.com | language = en}}</ref><ref>{{Cite web | url = https://www.infoworld.com/article/3257592/web-development/whats-new-in-googles-dart-language.html | title = What’s new in Google’s Dart language | author = Paul Krill | quote = 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. | accessdate = 2018-05-22 | date = 2018-02-23 | publisher = infoworld.com | language = en}}</ref> Die Oberfläche wird deklarativ beschrieben.<ref>{{Cite web | url = https://flutter.dev/docs/get-started/flutter-for/declarative | title = Introduction to declarative UI | accessdate = 2019-12-31 | publisher = flutter.dev | language = en}}</ref> ''Flutter'' ist als primäre Technik für die Realisierung von grafischen Benutzeroberflächen für den potenziellen Android-Nachfolger [[Fuchsia]] geplant.<ref name="ix_2019_04">Kai König: [https://www.heise.de/select/ix/2019/4/1554017012401689 ''Aus einem Topf. Cross-Plattform-Entwicklung mit Flutter'']. In: ''iX (Heise-Verlag)''. Nr. 4, 2019, S. 70.</ref><ref>{{Cite web | url = https://arstechnica.com/gadgets/2017/05/googles-fuchsia-smartphone-os-dumps-linux-has-a-wild-new-ui/ | title = Google’s “Fuchsia” smartphone OS dumps Linux, has a wild new UI | author = Ron Amadeo | quote = 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. | accessdate = 2019-03-24 | date = 2017-05-08 | publisher = arstechnica.com | language = en}}</ref>
 
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.<ref>{{Cite web | url = https://flutter.dev/docs/resources/faq | title = FAQ - Flutter | accessdate = 2020-10-05 | publisher = flutter.dev (offizielle Dokumentation zu Flutter) | language = en}}</ref> 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.<ref>{{Cite web | url = https://buildflutter.com/how-flutter-works/ | title = How Flutter Works | author = Adam Pedley | quote = The UI is built and rendered on a Skia Canvas as it changes. | accessdate = 2020-10-05 | date = 2018-04-23 | publisher = buildflutter.com | language = en}}</ref><ref>{{Cite web | url = https://elevatex.de/how-flutter-works-under-the-hood-and-why-it-is-game-changing/ | title = How Flutter works under the hood and why it is game-changing | quote = Widgets are rendered onto a Skia canvas with support for advanced animations and gesture recognition | accessdate = 2020-10-05 | date = 2019-04-29 | publisher = elevatex.de}}</ref><ref>{{Cite web | url = https://medium.com/asos-techblog/flutter-vs-react-native-for-ios-android-app-development-c41b4e038db9 | title = Flutter: the good, the bad and the ugly | author = Marco Bellinaso | quote = 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 | accessdate = 2020-10-05 | date = 2018-11-23 | publisher = medium.com | language = en}}</ref> 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.<ref>{{Cite web | url = https://medium.com/@sendtosaeed2/flutter-material-cupertino-make-together-a3d2d7849548 | title = Flutter: Material + Cupertino make together | author = Muhammad Saeed | quote = [...] CupertinoApp is used to build iOS like app and MaterialApp is used to build Android (Material) like app. | accessdate = 2020-10-05 | date = 2019-11-11 | publisher = medium.com | language = en}}</ref><ref>{{Cite web | url = https://codelabs.developers.google.com/codelabs/flutter-cupertino/ | title = Building a Cupertino app with Flutter | quote = 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. | accessdate = 2020-10-05 | publisher = Codelabs auf developers.google.com | language = en}}</ref>
 
== Zeitliche Entwicklung ==
 
* Im Jahr 2015 wurde Flutter noch unter dem Codenamen ''Sky'' erstmals öffentlich vorgestellt.<ref name="ix_2019_04" /><ref>{{Cite web | url = https://heise.de/-2920924 | title = Cross-Plattform-Entwicklung: Aus Googles Project Sky wird Flutter | author = Rainald Menge-Sonnentag | accessdate = 2019-03-24 | date = 2015-11-13 | publisher = heise.de}}</ref>
 
* Im Dezember 2018 wurde die Version 1.0 von ''Flutter'' freigegeben.<ref>{{Cite web | url = https://heise.de/-4241093 | title = Cross-Plattform-Entwicklung: Google gibt Flutter 1.0 frei | author = Alexander Neumann | accessdate = 2018-12-05 | date = 2018-12-05 | publisher = heise.de}}</ref>
 
* Im Mai 2019 wurde auf der [[Google I/O]] bekannt gegeben, dass mit dem Framework auch Desktop- und Web-Apps erstellt werden können.<ref>{{Cite web | url = https://heise.de/-4417063 | title = Entwicklungs-Framework: Flutter wird zum Multi-Plattform-Werkzeug | author = Alexander Neumann | quote = 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. | accessdate = 2019-05-08 | date = 2019-05-08 | publisher = heise.de}}</ref>
 
* Im März 2021 wurde die Version 2.0 freigegeben.<ref>{{Cite web | url = https://heise.de/-5071507 | title = Cross-Plattform-Entwicklung: Flutter 2 will den Desktop erobern | author = Rainald Menge-Sonnentag | accessdate = 2021-03-04 | date = 2021-03-04 | publisher = heise.de}}</ref><ref>{{Cite web | url = https://www.androidpolice.com/2021/03/03/flutter-2-is-coming-with-support-for-windows-and-macos-foldables-and-a-ton-more/ | title = Cody Toombs | author = Cody Toombs | accessdate = 2021-03-04 | date = 2021-03-04 | publisher = androidpolice.com | language = en}}</ref>
 
== Weblinks ==
== Weblinks ==
* [https://flutter.io/ Offizielle Homepage von ''Flutter'']
* [https://flutter.io/ Offizielle Homepage von ''Flutter'']
* [https://developers.googleblog.com/2018/05/ready-for-production-apps-flutter-beta-3.html Artikel auf offiziellem Entwickler-Blog von Google zur Veröffentlichtung der Beta3-Version von ''Flutter' im Mai 2018]
* [https://developers.googleblog.com/2018/05/ready-for-production-apps-flutter-beta-3.html Artikel auf offiziellem Entwickler-Blog von Google zur Veröffentlichtung der Beta3-Version von Flutter im Mai 2018]
* [https://flutterstudio.app Flutter Studio]


== Einzelnachweise ==
== Einzelnachweise ==

Aktuelle Version vom 4. März 2021, 19:28 Uhr

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[Bearbeiten | Quelltext bearbeiten]

  • 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]
  • Im März 2021 wurde die Version 2.0 freigegeben.[19][20]

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  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. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  3. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  4. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  5. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  6. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  7. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  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. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  10. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  11. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  12. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  13. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  14. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  15. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  16. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  17. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  18. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  19. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
  20. Interner Lua-Fehler: Der Interpreter beendet sich mit dem Status 127.
Cookies helfen uns bei der Bereitstellung von Android Wiki. Durch die Nutzung von Android Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.