SwiftUI - Mein Einstieg

Ich komme ja eher aus der Klassik-Ecke. Ich habe mit MacOS X 10.0 angefangen in Cocoa zu entwickeln (damals gab es die Entwicklertools noch auf CD mitgeliefert), dann in den 2010ern mein eigenes Programmierbusiness gehabt (baue ich gerade wieder auf). 

Seinerzeit musste man noch in Objective-C entwickeln. Das Cocoa-Framework war die Zukunft. Neben Cocoa, da gab es ja noch Carbon, für die Entwickler aus der MacOS 1-9 Welt. Inzwischen ist Carbon Geschichte, und auch wenn man noch immer Cocoa-Programme mit Objective-C entwickeln kann, ist Swift die Zukunft. 

Swift ist eine schöne Programmiersprache, die inzwischen seit 2014 viele Elemente enthält, die elegante Lösungen für Probleme beinhaltet. 

Seit 2019 hat Apple zusätzlich zu den Standardbibliotheken für Graphische Benutzeroberflächen von Cocoa und UIKit die neue Bibliothek SwiftUI eingeführt.

Der klassische MVC-Ansatz (Model-View-Controller) bietet viele Vorteile, aber oft auch sehr viel Überhang, den man hier dazu programmieren muss. Daher ist oft der Ansatz, den beispielsweise Lazarus mit sich bringt, oder auch Visual C# und Visual Basic einfacher nachzuvollziehen.

SwiftUI ist ein komplett neuer Ansatz für grafische Benutzeroberflächen. Da hier die gleiche Bibliothek auf allen Applegeräten vorhanden ist, reicht es, einmal zu entwickeln, das dann überall läuft. SwiftUI ist deklarativ, ähnlich wie HTML wird in einer Swift-Struktur die Oberfläche beschrieben. Diese läuft als Vorschau direkt neben dem Text und mit XCode kann man die Oberfläche auch grafisch aufbauen. 

Es gibt neben den eigentlichen Elementen einer Benutzeroberfläche (Button, TextField, etc.) auch Elemente zur Gruppierung und Anordnung. Daher muss man sich bei SwiftUI weniger mit den User Interface Guidelines beschäftigen. Bei Cocoa ist das ein ziemlicher Aufwand. 

Eine grafische Benutzeroberfläche in SwiftUI zu bauen ist vergleichsweise einfach, besitzt aber auch Fallstricke, die man meistern muss. Die Lernkurve ist daher erst relativ flach, sobald man komplexere Sachen machen will, steigt sie steil an. 

Ich habe hier das Buch "Einstieg in SwiftUI" als eine der wenigen deutschsprachigen Quellen. Dazu habe ich mir zwei Beispielprojekte als Spielzeug erstellt, mit denen ich übe. Praxis ist wie so oft beim Programmieren ein wichtiges Element. 

Eine Rezension des Buches werde ich nachschieben. Erstmal spielen…