Cross-Plattform-Entwicklung: Googles Flutter fliegt auf Windows

Microsofts Betriebssystem ist der Nachzügler unter den Zielplattformen für das Framework, das bereits iOS, Android, macOS, Linux und das Web bedient.

Lesezeit: 2 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen

(Bild: daniiD/Shutterstock.com)

Von
  • Rainald Menge-Sonnentag

Google hat die erste Alpha von Flutter für Windows veröffentlicht. Damit erweitert das Cross-Plattform-Framework den Reigen der Zielplattformen um das nach wie vor am weitesten verbreitete Desktop-Betriebssystem. Flutter deckt bereits Android und iOS im mobilen Bereich sowie Linux und macOS ab. Außerdem lassen sich Webanwendungen mit dem Framework erstellen.

Microsoft hatte im März eine Milliarde aktive Windows-Endgeräte gemeldet, und laut Google nutzt gut die Hälfte der Flutter-Entwickler Windows als Workstation. Flutter-Anwendungen liefen auf Microsofts Betriebssystem bisher jedoch lediglich im Browser, wenn man von Emulatoren beispielsweise für Android absieht.

Die Architektur des Cross-Plattform-Frameworks, das Anfang August in Version 1.20 erschienen ist, besitzt die drei Ebenen Framework, Engine und Embedder. Das Framework selbst nutzt die Programmiersprache Dart, die Google ursprünglich als JavaScript-Herausforderer ins Rennen geschickt hat, die aber inzwischen außerhalb von Flutter gegenüber Microsofts TypeScript die Waffen strecken musste. Entwickler schreiben ihre Anwendungen typischerweise in Dart und nutzen dazu die Komponenten der Frameworkschicht wie Widgets, Gestenverarbeitung oder Material Design.

Das Herzstück von Flutter ist die Engine, die auf C und C++ setzt und eine Low-Level-Implementierung der Core-API des Frameworks bereitstellt. Sie ist unter anderem für das Rendering, das Text Layout, Systemereignisse und nicht zuletzt das Verwalten der Dart-Laufzeitumgebung zuständig.

Die Architektur von Flutter besteht aus drei Ebenen, von denen die unterste plattofrmspezifische Anbindungen bietet.

(Bild: Google)

Der Embedder als unterste Ebene bietet schließlich die plattformspezifische Anbindung. Er kümmert sich unter anderem um das Aufsetzen von Threads, native Plug-ins und die Interoperabilität bei der Event-Verarbeitung.

Google betont in der Ankündigung der Windows-Anbindung, dass durch neue Systeme nicht nur plattformspezifische, sondern auch übergreifende Funktionen Einzug ins Framework halten. Die vom Flutter-Team erhoffte verstärkte Verbreitung auf dem Desktop treibt demnach vor allem die Einbindung von Eingabegeräten wie Tastatur und Maus voran, während für die Mobilentwicklung in erster Linie die Touch-Eingabe im Fokus stand. Zudem will das Team die Widgets besser für größere Bildschirme anpassen.

Lesen Sie auch

Daneben bringt die Windows-Anbindung zusätzliche Werkzeuge für die Kommandozeile und entsprechende Entwicklungsumgebungen. Außerdem können Entwickler dem in C++ geschriebenen Windows-Programm, das den Flutter-Code lädt und ausführt, wohl eigenen nativen Code hinzufügen.

Schließlich vermischen Plug-ins Dart-Code mit nativem Code für die jeweiligen Zielplattformen, was im Umkehrschluss bedeutet, dass Entwickler für jede unterstützte Plattform individuellen Code bereitstellen müssen.

Derzeit ist Windows als Zielplattform noch als Alpha gekennzeichnet. Zum Start bietet Flutter lediglich eine Anbindung an die klassische Win32-API, aber Google experimentiert bereits mit einer Variante der Flutter-Shell für die Universal Windows Platform (UWP), womit unter anderem die XBox als Zielplattform hinzukäme. Als Testballon hat das Team bereits eine UWP-basierte Version der Flutter Gallery im Windows Store veröffentlicht. Die kostenlose Beispielanwendung ist als reines Proof of Concept gekennzeichnet.

Bei den Voraussetzungen für die Entwicklung von Flutter-Apps für Windows ist laut der offiziellen Flutter-Site Visual Studio 2019 inklusive der C++-Entwicklungstools erforderlich. Außerdem benötigt Flutter unter Windows die PowerShell ab Version 5.0, die in Windows 10 ohnehin verfügbar ist, sowie Git for Windows 2.x.

Weitere Details lassen sich der offiziellen Ankündigung entnehmen, die einige Beispielanwendungen und eine Starthilfe enthält.

(rme)