Die Apple Vision Pro ist zweifelsohne das spannendste Apple-Produkt der letzten Jahre. Nachdem diese neue Plattform inzwischen auch hierzulande verfügbar ist, habe ich es mir nicht nehmen lassen, mir ebenfalls ein Exemplar zu sichern. Der Antrieb hinter dem Kauf war simpel. Erstens fasziniert mich die Technik, und zweitens ist visionOS – das Betriebssystem der Apple Vision Pro – für mich als Apple Developer ungemein spannend. Eines meiner persönlichen App-Projekte – eine Time Tracking-App zum Erfassen meiner Arbeitszeiten – hatte ich bereits vor dem Release der Vision Pro in Deutschland für visionOS optimiert. Die App live und in Farbe auf der…
Die Vorstellung der Apple Vision Pro im vergangenen Jahr hat – verständlicherweise – für großes Aufsehen gesorgt. Inzwischen ist Apples neues großes one more thing auch offiziell verfügbar; wenn bisher auch ausschließlich in Amerika. Seit dem Release der Apple Vision Pro Anfang Februar verging kaum ein Tag, an dem ich in meiner LinkedIn-Timeline nicht auf Posts zu Apples neuestem Computer gestoßen bin. Die Tonalität war hierbei immer recht ähnlich: große Begeisterung, Bewunderung für die faszinierende technische Meisterleistung, Vergleiche mit dem Release des Ur-iPhones. Einem kann ich unversehens zustimmen: Aus technischer Sicht ist die Apple Vision Pro in meinen Augen ein…
Es gibt News an der LinkedIn Learning-Front: Seit Kurzem stehen zwei neue Kurse für Apple Developer auf LinkedIn Learning bereit! SwiftData lernen bietet einen Einstieg in Apples neues Framework zur persistenten Datenspeicherung. Auf Basis eines vorgegebenen Beispielprojekts erläutert der Kurs die grundlegende Funktionsweise von SwiftData, stellt Attribute und Relationships vor und erläutert das effiziente Zusammenspiel mit SwiftUI. Auch die Versionierung von Datenmodellen sowie die Migration von Core Data werden vorgestellt. Der bisher aus zwei Teilen bestehende Xcode-Grundkurs hat eine zusammengefasste Neuauflage erfahren. Basierend auf der aktuellen Version 15 zeigt der Kurs den Aufbau von Apples hauseigener IDE, gibt einen Überblick…
Ein – für mich persönlich – aufregendes Jahr 2023 neigt sich dem Ende. Und ich gebe unversehens zu: Es war kein starkes Jahr für Let’s Code. Sowohl die Artikel als auch die Videos auf YouTube haben in diesem Jahr nicht den Fokus erhalten, der sich in den Jahren zuvor (genauer gesagt seit 2019, der Blog wird bald fünf Jahre alt, huiuiui!) etabliert hatte. Bedeutet das das Ende von Let’s Code? Mitnichten. Aber ich muss wohl realistischerweise sagen: Das einstige umfangreiche Pensum an beinahe wöchentlichen neuen Artikeln wird es in absehbarer Zeit voraussichtlich nicht mehr geben. Warum das so ist, was…
Es ist soweit: Seit heute ist die dritte, aktualisierte Auflage meines Swift-Handbuchs im Handel erhältlich. Gespickt mit neuen und überarbeiteten Inhalten basierend auf Swift 5.9, Xcode 15 sowie den aktuellen Versionen von Apples Betriebssystemen soll auch die dritte Auflage als Wegbegleiter für Apple Developer dienen. Der ursprüngliche Aufbau bleibt erhalten: Teil 1 des Buches befasst sich umfassend mit der Programmiersprache Swift, während Teil 2 Aufbau und Funktionsweise von Xcode erläutert. Teil 3 ist in gewisser Weise das Herzstück des Buches und befasst sich ausgiebig mit der Entwicklung von Apps auf Basis von SwiftUI. In die zugehörigen Kapitel flossen auch die…
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…
Wenn es um die Integration eigens definierter Model-Klassen in SwiftUI-Views geht, spielen die beiden Property Wrapper ObservedObject und StateObject eine maßgebliche Rolle. Augenscheinlich machen sie mehr oder weniger das selbe: Sie achten auf Änderungen der Model-Instanz und aktualisieren die zugehörige View, sobald solche Änderungen bemerkt werden. Falls man daraus den Schluss zieht, man könne die beiden Property Wrapper beliebig nach eigenem Gusto einsetzen, der irrt. Ob man ObservedObject oder StateObject einsetzt, hängt maßgeblich davon ab, wie eine Model-Instanz in eine View integriert ist. Zur Erläuterung der Unterschiede zwischen den beiden Property Wrappern dient die folgende Person-Klasse als Ausgangslage. Sie wird…
Trennung von Argument Label und Parameter Name Ich schätze gute APIs. Funktionen, die einen klar verständlichen Zweck erfüllen und sich sowohl beim Aufrufen als auch bei der Implementierung gut lesen lassen, sind in meinen Augen geradezu schön. So gesehen sind für mich gute APIs solche, deren Zweck (wenigstens grundlegend) auch ohne Dokumentation ersichtlich ist und dabei über einen möglichst knappen und bezeichnenden Namen verfügen. Das gilt auch für die Parameter, die eine Funktion erwartet. In Swift setzen sich die Parameter von Funktionen seit jeher aus zwei Elementen zusammen: das Argument Label und den Parameter Name. Das Argument Label kommt beim…
Standardwerte für Parameter Die Programmiersprache Swift liegt heute bereis in Version 5.7 vor und hat bereits einen weiten Weg hinter sich. In all den Jahren, in denen Swift inzwischen zur Verfügung steht, wurde die Sprache stetig verbessert und weiterentwickelt. Ich selbst nutze Swift seit Version 1 und es gibt so einiges, das mir an dieser Sprache immens gut gefällt. Diese neue Artikelreihe soll euch – aus meiner ganz persönlichen Sicht – einige dieser Features vorstellen. Dabei geht es mir nicht um die aufwendigsten oder modernsten Funktionen. Es spielt auch keine Rolle, ob ein Feature von Beginn an existierte oder erst…
SwiftUI geht – verglichen mit UIKit und AppKit – einen gänzlich anderen Weg, was die Erstellung grafischer Oberflächen betrifft. Einen zentralen Unterschied findet man bereits in der zugrundeliegenden Architektur: Wo UIKit und AppKit auf Controller zurückgreifen, die Views und die zugehörige Model-Logik miteinander verbinden, fehlt in SwiftUI diese Komponente gänzlich. Controller sind kein Teil von SwiftUI und architektonisch auch gar nicht notwendig. Denn Views erhalten direkten Zugriff auf alle Model-Informationen, die sie benötigen, und führen auch Manipulationen direkt am Model durch. Diese Vermischung von Model und View birgt aber eine Gefahr, auf die ich in diesem Artikel näher eingehen möchte.…