Archiv der Kategorie: Swift

Swift für Kinder, Teil I

Meine beiden Kinder, aktuell 9 und 11 Jahre alt, sind wie die meisten ihrer Altersgenossen vernarrt in Smartphone-Spiele. Sie haben gesehen, dass ihr Vater Spiele programmiert, und wollen das nun auch können. Nicht irgendwelche Spiele, die auf einem Computer laufen, nein — es müssen Smartphone-Apps sein.

Update 21.10.2016: ZIP-Code-Archiv aktualisiert für Swift 3 final.

Swift für Kinder, Teil I weiterlesen

Erste Tests mit Xcode 8 und Swift 3

Mitglieder des Apple Developer Programs können seit gestern die erste Xcode-8-Beta herunterladen. Sie enthält erwartungsgemäß die erste offizielle Prerelease-Version von Swift 3. Aufgrund des Confidentiality-Regeln, die für Teilnehmer am Apple Developer Program gelten, kann ich hier keine Screenshots zeigen und nur über Dinge schreiben, die ohnedies schon öffentlich bekannt sind (z.B., weil Apple auf der WDDC darüber berichtet hat oder entsprechende Dokumente veröffentlicht hat). Aber auch mit diesen Einschränkungen gibt es ein wenig zu berichten.

Erste Tests mit Xcode 8 und Swift 3 weiterlesen

Swift: Komfortabler mit CGFloat, CGPoint und CGRect arbeiten

In den letzten Wochen habe ich recht intensiv unter Swift 2.n mit dem SpriteKit gearbeitet. Ein großes Ärgernis ist dabei das umständliche Hantieren mit CGPoint, CGSize, CGRect– und CGVector-Strukturen. Lästig sind auch die ständig erforderlichen Typumwandlungen zwischen den im SpriteKit üblichen CGFloat-Zahlenformat und »gewöhnlichen« Integer- und Fließkommazahlen. Das ist umso absurder, als CGFloat auf 64-Bit-Plattformen ohnedies eine Double-Zahl ist. Einzig auf 32-Bit-Architekturen ist CGFloat tatsächlich ein Float.

Wie auch immer: Swift wäre nicht Swift, könnten wir uns das Leben nicht mit ein paar neuen Operatoren, nachträglichen Erweiterungen vorhandener Strukturen sowie mit globalen Funktionen leichter machen.

Swift: Komfortabler mit CGFloat, CGPoint und CGRect arbeiten weiterlesen

Parallax-Icons für tvOS-Apps

Die Steuerung von tvOS erfolgt durch eine Art Cursor, der mit der Fernbedienung über Objekte am Bildschirm bewegt wird. Wenn es beispielsweise drei nebeneinanderliegende Buttons am Bildschirm gibt, dann gibt es horizontal nur drei mögliche Cursorpositionen. Ohne weitere Maßnahmen wäre die Cursorbewegung sehr ruckartig.

Um den Übergang von einem zum nächsten Objekt feiner darzustellen und damit die Cursorposition exakter aufzulösen, kippt tvOS die Buttons während sich der (an sich unsichtbare) Cursor darüber bewegt. Diese Kippbewegung wird durch 3D-Effekte und Schatten visualisiert. Das war Apple aber nicht genug: Auch die Icons an sich sollen sich beim Kippen verändern.

Während sich der unsichtbare Cursor über das Icon bewegt, ändert sich nicht nur der Schatten, sondern auch die Position der Zahnräder zueinander. (GIF-Animation)
Während sich der unsichtbare Cursor über das Icon bewegt, ändert sich nicht nur der Schatten, sondern auch die Position der Zahnräder zueinander. (GIF-Animation)

Parallax-Icons für tvOS-Apps weiterlesen

»Hello World« am Apple TV 4

Mit der vierten Generation des Apple TVs hat Apple das Gerät (endlich) auch für Entwickler interessant gemacht. In Xcode können Sie nun tvOS-Apps programmieren und in der Apple-TV-Sparte des App Stores zum Download bzw. Verkauf anbieten. Dabei gibt es grundsätzlich zwei Arten von Apps: Native Apps, die in Objective C oder Swift entwickelt werden, sowie JavaScript-Apps, die auf einen externen Server zugreifen (Konzept in der Apple-Dokumentation). Ich gehe hier nur auf die Native-Swift-Variante ein.

»Hello World« am Apple TV 4 weiterlesen

Swift 2.2

Voraussichtlich ist Swift 2.2 die letzte Swift-Version vor dem großen, für Herbst geplanten Update auf Swift 3. Swift 2.2 bietet im Vergleich zu Swift 2.0/2.1 einige neue Funktionen. Beim Design von Swift 2.2 war die Kompatibilität zu vorhandenem Swift-2-Code ein wichtiges Ziel. Die meisten Neuerungen sind als Ergänzungen/Erweiterungen konzipiert, die optional verwendet werden können, aber keinen Einfluss auf vorhandenen Code haben.

Dennoch zeigt Swift 2.2 bereits in einigen Punkten die Richtung an, in die sich Swift weiterentwickelt. So wurden diverse Sprachmerkmale von Swift als deprecated gekennzeichnet. Das betrifft z.B. klassische for-Schleifen, die in Swift 2.2 weiter ausgeführt werden, in Xcode aber als deprecated gekennzeichnet werden. Diese Kennzeichnung gibt Entwicklern die Möglichkeit, schon jetzt damit zu beginnen, ihren Code möglichst Swift-3-konform zu gestalten.

Diese Artikel fasst die Neuerungen auf der Basis von Xcode 7.3 Beta 5 zusammen. Ich werde den Text nach der Freigabe von Xcode 7.3 nochmals aktualisieren. Inzwischen ist Xcode 7.3 freigegeben. Es hat keine für diesen Artikel relevanten Änderungen mehr gegeben.

Lesen Sie auch die Zusammenfassung über den aktuellen Stand der Pläne für Swift 3!

Swift 2.2 weiterlesen

Braucht Linux Swift? Oder braucht Apple Linux?

Vor eineinhalb Jahren hat Apple die Programmiersprache Swift vorgestellt. Wie man es sich von einer neuen Sprache erwartet, ist Swift modern und vereint in sich viele (die besten?) Features aus diversen anderen Programmiersprachen, kombiniert mit ein paar eigenen Ideen.

Wie jede neue Sprache leidet Swift noch unter einigen Kinderkrankheiten. Die größte besteht darin, dass die Sprache work in progress ist. Wer immer sich auf Swift einlässt, muss damit rechnen, dass sein Code schon mit der nächsten Swift-Version an neue Syntaxregeln oder veränderte Standardbibliotheken angepasst werden muss. (In der Apple-eigenen Entwicklungsumgebung Xcode funktioniert das zum Glück weitgehend automatisch.)

Trotz dieser Einschränkung ist Swift durchaus schon praxistauglich und wird bereits intensiv genutzt. Der Grund dafür ist leicht erklärt: Wer native Apps für iOS, OS X, die Apple Watch etc. programmieren will, hat nur die Wahl zwischen Objective C (uralt mit steinzeitlicher und abschreckender Syntax) und Swift. Apple erklärt dezidiert, die Zukunft heißt Swift. Da fällt die Entscheidung nicht schwer …

Braucht Linux Swift? Oder braucht Apple Linux? weiterlesen