Meine persönlichen Highlights der WWDC23

Die vergangene WWDC war in vielerlei Hinsicht ein spektakuläres Event. Für viele ist – verständlicherweise – die Vorstellung der neuen Apple Vision Pro inklusive visionOS das primäre Highlight. Hier eröffnet sich für uns Entwickler eine gänzlich neue Welt, von der noch gar nicht abzusehen ist, wie sie das Computing in den kommenden Jahren beeinflussen wird. Und wir dürfen und sollen diese spannende neue Welt mitgestalten. Das ist wahrlich ein Highlight, dass Apple in dieser Form in den kommenden Jahren aufgrund seiner Tragweite kaum dürfte toppen können.

Doch tatsächlich werde ich an dieser Stelle nicht weiter über die Apple Vision Pro schreiben. Das hat zwei Gründe:

  1. Es wurde schon so viel zu diesem spannenden neuen Produkt gesagt und ich habe nicht das Gefühl, Stand heute etwas Neues oder Informativeres dazu beitragen zu können.
  2. Die Apple Vision Pro erscheint erst Anfang 2024 und zunächst auch nur in den USA. Das bedeutet nicht, dass es nicht heute bereits mehr als sinnvoll ist, diese Plattform im Blick zu behalten und mit der aktuellen Xcode 15-Beta die App-Entwicklung für visionOS zu starten. Es bedeutet aber durchaus, dass andere Ankündigungen der WWDC wesentlich früher verfügbar sein werden, nämlich voraussichtlich ab Herbst, wenn Xcode 15 und die neuen Betriebssystemversionen von macOS, iOS, iPadOS, watchOS und tvOS offiziell erscheinen.

Und hier kommt noch ein dritter und entscheidender Punkt:

  1. Es gab so verdammt viele spannende weitere Neuankündigungen für Entwickler (ja, auch abseits von visionOS und Spatial Computing)!

Und genau über jene spannenden weiteren Neuankündigungen möchte ich heute an dieser Stelle schreiben. Auch wenn die Apple Vision Pro ein wahres Brett von Neuankündigung ist, so sollte sie den folgenden Highlights für Entwickler nicht gänzlich das Rampenlicht stehlen.

SwiftData: Persistente Datenverwaltung im Swift-Style

Was SwiftUI im Jahr 2019 für den UI-Bereich war, ist SwiftData 2023 für die Datenhaltung. Was habe ich in den vergangenen Jahren schon sehnlichst auf solch eine Lösung gewartet! Ein Framework, das wie Core Data zur persistenten Datenspeicherung dient, aber auf der Leichtigkeit und gelungenen Syntax von Swift beruht. Mit SwiftData wird dieser Traum nun endlich Wirklichkeit.

SwiftData ist Apples neues modernes Framework für die persistente Datenhaltung. (Bild: developer.apple.com)
SwiftData ist Apples neues modernes Framework für die persistente Datenhaltung. (Bild: developer.apple.com)

Meet SwiftData war eine der ersten Sessions, die mir ins Auge fielen, als ich den WWDC-Videokatalog durchstöberte. Und ich hatte sofort eine Ahnung, worum es sich dabei handelte. Die Videos zu SwiftData habe ich als Erstes verschlungen und war begeistert. Apple hat es verstanden, diese Leichtigkeit, die Swift und auch SwiftUI auszeichnet, auf die Datenverwaltung zu übertragen. So braucht es im einfachsten Fall nicht mehr als die zu persistierenden Model-Typen und einen Model-Container mitsamt Model-Context, über den die zu speichernden Inhalte verwaltet werden; Bumm, schon kann es losgehen! Und wenn es doch etwas komplexer werden sollte, bietet das Framework eine Vielzahl an zusätzlichen Konfigurationsmöglichkeiten.

Und natürlich erfolgt die komplette Model-Deklaration und -Verwaltung im Code. So wie SwiftUI ohne separate Interface-Dateien auskommt, benötigt SwiftData keinen separaten Daten-Modellierer; einfach großartig!

Für mich steht außer Frage, dass SwiftData das Erbe von Core Data antritt. Gerade im Zusammenspiel mit SwiftUI hat sich deutlich gezeigt, dass Core Data ziemlich umständlich einzubetten und zu verwalten ist. Es geht, aber es ist nicht toll, nicht swifty. Dass SwiftData den Anfang vom Ende von Core Data andeutet, zeigen auch die WWDC-Sessions zu Core Data. Davon gab es schon in den vergangenen Jahren nicht viele, doch in diesem Jahr ist die Anzahl mit einer einzigen Session auf Rekord-Tief gesunken.

Swift, SwiftUI und jetzt auch SwiftData stellen zweifelsfrei in Zukunft die heilige Dreifaltigkeit der App-Entwicklung für Apple-Plattformen dar. Dass SwiftUI der Quasi-Standard für die UI-Umsetzung ist, macht Apple immer wieder mehr als deutlich (dazu gleich mehr). SwiftData messe ich einen ähnlich hohen Stellenwert bezüglich der persistenten Datenspeicherung bei. Da verwundert es nicht, dass Apple passende Migrationsmöglichkeiten von Core Data zu SwiftData in petto hat.

SwiftUI ist UI-Standard

Bereits im vergangenen Jahr machte Apple mehr als deutlich, dass die Kombination aus Swift und SwiftUI der beste Weg ist, um Apps für Apple-Plattformen zu entwickeln. Diese Aussage zementiert Apple in diesem Jahr erneut massiv. Man betrachte nur die allgemeineren Sessions über Spatial Computing: Alle Beispiele basieren auf SwiftUI, und es ist SwiftUI, das immer als die UI-Schnittstelle für die App-Entwicklung gepriesen wird. Dazu kommen viele Verbesserungen, die SwiftUI erneut ein gutes Stück voranbringen und die Entwicklung erleichtern.

SwiftUI spielt eine immer größere Rolle und ist inzwischen der De-facto-Standard für die UI-Entwicklung auf Apple-Plattformen. (Bild: developer.apple.com)
SwiftUI spielt eine immer größere Rolle und ist inzwischen der De-facto-Standard für die UI-Entwicklung auf Apple-Plattformen. (Bild: developer.apple.com)

Da wäre etwa das neue @Observable-Makro, das die Einbindung eigener Datenklassen ins UI deutlich vereinfacht. Vorbei sind die Zeiten von @Published-Deklarationen und dem Einsatz des ObservedObject-Property Wrappers. Das @Observable-Makro sorgt dafür, dass entsprechender Code deutlich entschlackt werden kann.

Und dann sind da die neuen Inspectors, die sich ganz leicht mithilfe des inspector(isPresented:content:)-Modifiers in Apps für macOS, iOS und iPadOS integrieren lassen. Inspectors tauchen hierbei als zusätzliche Spaltenansichten am rechten Rand auf und lassen sich in SwiftUI ähnlich simpel realisieren wie Sheets oder Confirmation Dialogs. Und unter iOS werden sie automatisch als Sheets umgesetzt; das erleichtert die Multiplatform-Entwicklung ungemein.

Hinzu kommen neue Animationsmöglichkeiten, Verbesserungen bei den eben erwähnten Confirmation Dialogs und neue Konfigurationsmöglichkeiten für Tabellen. Ach ja, und die Preview in Xcode wird auch immer besser.

Xcode wird erwachsen(er)

Apropos Xcode: Mit Version 15 der IDE baut Apple allen voran den Testing- und Source Control-Bereich aus. Endlich gibt es eine gelungene Übersicht der lokal durchgeführten Änderungen inklusive Staging-System. Und die Test-Reports geben nun deutlich klarer Auskunft darüber, wann und wie Fehler aufgetreten sind.

Xcode 15 ist die nächste große Version von Apples Entwicklungsumgebung. (Bild: developer.apple.com)
Xcode 15 ist die nächste große Version von Apples Entwicklungsumgebung. (Bild: developer.apple.com)

Mit den neuen String Catalogs optimiert Apple überdies die Übersetzungsfunktionen in Xcode, und zwar deutlich. Endlich gibt es einen eigenen Editor, der die verschiedenen zu übersetzenden Strings aufschlüsselt und anhand einer Prozentanzeige darauf aufmerksam macht, an welcher Stelle in anderen Sprachen noch Übersetzungen fehlen. Auch Pluralisierungen lassen sich damit komfortabel auflösen.

Ach ja, und die Fähigkeiten von DocC – Apples Framework für die Umsetzung und Präsentation von Dokumentationen – sind auch noch mal stark angewachsen. Neben Style-Anpassungen lassen sich auch komfortabel Bilder und Videos in Artikel einbetten.

Die Liste an Neuerungen und Verbesserungen in Xcode ist damit aber noch nicht zu Ende. Die Preview von SwiftUI-Views wurde ausgebaut und die zugrundeliegende Code-Syntax gleichermaßen vereinfacht. Der Debugger und die Konsole wurden optimiert und die Nutzung von Asset Catalogs verbessert. Ach ja, und es gibt einen neuen Bookmark Navigator, mit dem sich eigens gesetzte Lesezeichen im Code einsehen und verwalten lassen. Letzteres ist für mich ein kleines Highlight, zweckentfremdete ich doch schon mehr als einmal Breakpoints zum Markieren von wichtigen Code-Stellen.

Eine WWDC voller Highlights

Als Entwickler könnte ich kaum zufriedener sein mit der diesjährigen WWDC. Neben der Einführung einer komplett neuen und extrem spannenden Plattform hat Apple auch großartige Produktpflege bewiesen. Dabei habe ich weitere Highlights wie die neuen Swift Makros und das gelungene Redesign von watchOS 10 gar nicht erwähnt. Doch allein SwiftData, die vielen Neuerungen in SwiftUI und Xcode 15, das an genau den richtigen Stellen ausgebaut wurde, machen mich mehr als selig.

Es ist eine extrem spannende Zeit für alle Apple Developer, und ich bin sehr glücklich darüber, ein Teil davon zu sein.

In diesem Sinne: Happy coding!


Kommentare

4 Antworten zu „Meine persönlichen Highlights der WWDC23“

  1. Avatar von Rene Kallenbach
    Rene Kallenbach

    Die Brille kommt erst Anfang 2024 😉
    Sooooo schnell is Apple ja jetzt auch nicht 😉

    1. Ahh, du hast natürlich vollkommen recht! 😅 Gleich mal ausgebessert. 😬

      Vielen Dank für den Hinweis! 😊

  2. Avatar von Karl-Peter Zons
    Karl-Peter Zons

    Herr Sillmann wenn Sie eine Veröffentlichung zum Thema SwiftData schreiben bin ich bestimmt bei den ersten Käufern.

  3. Avatar von Marcel Jäger
    Marcel Jäger

    Meine Freude über SwiftData ist auch so groß.
    Bei den ganzen Neuerungen weiß ich gar nicht, bei welcher ich anfangen soll. 😅
    Ich hoffe bzw. ich habe so ein Gefühl, dass in naher Zukunft eine Art SwiftGame Framework vorgestellt wird.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert