Nutzung von SwiftUI - ein Fazit

So, in letzter Zeit habe ich viel zu und mit SwiftUI geschrieben, bis auf eine Funktion ist meine Abo-Verwaltung auch fertig, und heute möchte ich mal mein Fazit abgeben. 

SwiftUI funktioniert erstaunlich gut. Man muß nur bereit sein, umzulernen. Statt immer Änderungen innerhalb der Benutzeroberfläche anstoßen zu müssen, ändert man nur eine State-Variable und die Benutzeroberfläche ändert sich. 

Aus Sicht eines Entwicklers bietet der Ansatz vielerlei Vorteile: 

  1. Man braucht sich nur wenige Sorgen um das Aussehen auf verschiedenen Bildschirmen zu machen. Egal ob Smartphone oder 32" Bildschirm.
  2. Man bekommt schnell eine funktionale Oberfläche nach den Apple-Human-Interface-Guidelines, selbst wenn die Programmierung noch nicht ausgereift ist.
  3. Durch die Live-Preview, die ständig mitläuft (abschaltbar) hat man einen schönen Ausblick auf das fertige Programm. 
  4. Einige Punkte, gerade auf dem Mac, sind schon passabel, so benötigt es keinen eigenentwickelten Einstellungendialog, sondern am Ende nur den View (+ eventuelle Unterviews). 

Die Nachteile habe ich auch schon in vorigen Artikeln behandelt: 

  1. Weniger Kontrolle über die Oberfläche in macOS, wie die Menüleiste. 
  2. Bislang ist es auch nur schwer möglich, ein Element, beispielsweise eine Texteingabe oder einen Button inaktiv zu setzen oder unsichtbar zu machen.
  3.  Programmtext wird schnell unübersichtlich, wenn man Views nicht in einzelne Dateien aufspaltet. Deshalb sollte man bereits im Vorfeld seine Views splitten.
  4. Es gibt immer noch einige Views (bspw. WebKit), die nur in AppKit und UIKit vorhanden sind. Das Problem wird sich aber von selbst lösen, denn jedes Jahr bringt Apple mehr und mehr in SwiftUI. 

Fazit: Wer es noch nicht getan hat, sollte jetzt langsam sich mit dem Thema auseinandersetzen. SwiftUI wird die Zukunft sein. Allerdings werden AppKit und UIKit noch auf eine lange Zeit die vorherrschenden Frameworks für die Benutzeroberfläche auf dem Mac bzw. dem iPhone/iPad sein.