Flutter – Cross-Plattform à la Google

Googles Flutter ist eine Dart-basierte Alternative zu Cross-Plattform-Klassikern wie Qt, Embarcadero und Co., die eine unkonventionelle Herangehensweise ans Benutzer-Interface mitbringt. Dieser einführende Artikel stellt die Grundlagen vor.

Werkzeuge  –  2 Kommentare

(Bild: Shutterstock)

Der wichtigste und für Quereinsteiger in die Cross-Plattform-Entwicklung schwierigste Punkt ist das deklarative Designkonzept des GUI-Stacks. Desktop- und Mobilbetriebssysteme betrachten Widgets normalerweise als langlebige Konstrukte, denen während der Programmausführung neue Attribute zugeschrieben werden. Dieser als imperativ bezeichnete Programmierstil führt zu langlebigen Steuerelementen.

Deklarative GUI-Stacks betrachten Steuerelemente als Wegwerfartikel. Entwickler melden beim Framework ein Zustandsobjekt an, das die Inhalte des Widgets beschreibt. Bei Änderungen verwirft die Runtime die Widget-Instanz, um aus den Zustandsinformationen ein neues Steuerelement zu bauen. Aufgrund der Zustandslosigkeit fallen die Widgets "schlank" aus – das native Aussehen entsteht nicht durch Kapselung nativer Views, sondern durch Mimikry im GUI-Stack, wie das nachfolgende Architekturdiagramm veranschaulicht.

Flutter verwendet keine nativen Widgets (Abb.1) (Bild: Flutter.io)

Als Motivation für diese zugegebenermaßen wenig intuitive Vorgehensweise führt Google in der Flutter-Dokumentation die Möglichkeit an, die Handhabung von Übergängen zwischen Zuständen in die Verantwortung des Frameworks zu legen.

Eine Frage des Werkzeugs

Flutter unterstützt eine Vielzahl IDEs und lässt sich auch für Nicht-Mobilplattformen kompilieren. Flutter unterstützt Android ab Version 4.1. Die nachfolgenden Schritte beziehen sich auf den Einsatz von Android Studio 3.4. und dem SDK in Version 9.0.

Zur Vorbereitung des Systems für die Installation von Flutter müssen alle aktuellen Updates eingespielt und anschließend geöffnete Projekte geschlossen werden. Über die Option Configure Plugins hinter dem Zahnradsymbol auf der unteren Seite des Startbildschirms von Android Studio lässt sich die Rubrik Marketplace des Plug-in-Assistenten für die Suche nach Flutter öffnen.

Das Flutter-Plug-in steht in den offiziellen Paketquellen zum Download bereit (Abb.2)

Nach Installation von Flutter und dem erforderlichen Dart-Plug-in aktiviert ein Reboot von Android Studio das Plug-in. Anschließend lässt sich über die Option Start a new Flutter project mit der Vorlage Flutter Application ein neues Projekt mit beliebigem Namen einrichten (vgl. Abb. 3).

Flutter setzt das Herunterladen eines zusätzlichen SDK voraus (Abb.3)

Sollte die automatische Installation des SDK in einem leeren Ordner des Systems über den CommonDialog von Android Studio fehlschlagen, lassen sich über die Starthilfe-Website von Flutter manuell aktuelle Archive in einem möglichst bequem zugänglichen Unterordner /flutter herunterladen. Sobald der Installationsassistent den Flutter-Ordner erkannt hat, bietet er die Möglichkeit zum Aktivieren der Platform Channels an – die beiden dabei angezeigten Checkboxen dürfen deaktiviert bleiben. Nach erfolgter Bestätigung lädt Android Studio einige Komponenten aus dem Internet herunter und beginnt die Indizierung des Projekts.