Plattformübergreifend entwickeln mit Flutter

Es müssen nicht immer Swift oder SwiftUI sein, um Apps für Apple-Geräte zu programmieren. Wir zeigen, wie's geht.

Lesezeit: 22 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 3 Beiträge
, Ishtiaq-khan-para, unsplash.com; Montage: Mac & i

(Bild: Ishtiaq-khan-para, unsplash.com; Montage: Mac & i)

Von
  • Pascal Friedrich
  • Klaus Rodewig
Inhaltsverzeichnis

2019 war es, als Apple auf der WWDC mit den üblichen Superlativen SwiftUI ankündigte, das neue, deklarative Framework für die UI-Programmierung auf Apple-Geräten. Dem in die Jahre gekommenen UIKit auf iOS und dem noch viel älteren AppKit auf macOS merkt man ihr Alter schon lange an. Komplexe Bedienoberflächen zu bauen, ist umständlich, die Trennung zwischen Code und Interface Builder altbacken, und beide Frameworks verärgern auch heute noch mit unnötigen Restriktionen und Bugs. So war SwiftUI der lang erwartete Befreiungsschlag in Richtung Zukunft. Und nur wenig überraschend, hatte Google doch zwei Jahre zuvor mit Flutter schon ein deklaratives Framework mit einer beachtlichen Flexibilität und Performance veröffentlicht.

Mehr zum Thema macOS erweitern

Während SwiftUI ausschließlich dem Programmieren für Apple-Geräte vorbehalten bleibt, erlaubt Flutter von Anfang an plattformübergreifendes Programmieren für Android und iOS. Mittlerweile haben sich macOS, Linux, Windows und Webbrowser als unterstützte Plattformen hinzugesellt – ein erheblicher Pluspunkt gegenüber SwiftUI. Plattformübergreifende Programmierung, write once, run everywhere, ist der Traum eines jedes Managers. Zu verlockend klingt doch die Vorstellung, dass man die Hälfte der Programmierer-Ressourcen einsparen kann, wenn man nur ein plattformübergreifendes Framework verwendet, bei dem aus einer einzigen Codebasis Apps für iOS und Android entstehen. In der Praxis geht diese Rechnung natürlich nie auf. Am Ende hat man in der Regel immer plattformspezifische Anpassungen und Nacharbeiten. Und doch schafft es Flutter, Programmierzeit erheblich zu verkürzen.

kurz & knapp

  • Googles Flutter ist quasi das plattformübergreifende Pendant zu SwiftUI.
  • Sind die elementaren Konzepte verstanden, ist Flutter eine echte Alternative zur nativen Programmierung.
  • Die Einbindung nativen Codes gelingt problemlos über Platform Channels.
  • Es stehen mehrere IDEs zur Wahl.
  • Es gibt eine große und sehr aktive Community.

Um Flutter zu installieren, gibt es verschiedene Wege. Neben dem in der Flutter-Dokumentation beschriebenen manuellen Download erlaubt der freie macOS-Paketmanager Homebrew eine bequeme Installation über die Kommandozeile. Dies ist sicher die komfortabelste Art, denn so lässt sich Flutter zusammen mit allen anderen über Homebrew installierten Paketen einfach updaten. Neben dem Framework selbst benötigt man noch Xcode aus dem App Store, um Apps für iOS und macOS programmieren zu können, für Android-Apps darüber hinaus Android Studio, und für die Web-Entwicklung den Browser Chrome.