Archiv der Kategorie: Swift

Pläne für Swift 3.0

Mit der Geheimniskrämerei ist es vorbei: Seit Swift ein Open-Source-Projekt ist, verläuft die Entwicklung transparent. Dieser Beitrag fasst zusammen, wie Swift 3 voraussichtlich aussehen wird. Diese Pläne ändern sich laufend. Dieser Beitrag wird deswegen regelmäßig aktualisiert. (Erste Version 11.12.2015, letztes Update: 1.8.2016.)

PS: Die Liste der Änderungen hat inzwischen schon fast epische Ausmaße angenommen. Dieser Blogbeitrag ist eine Zusammenfassung der Neuerung, die mir am wichtigsten erscheinen, aber keine vollständige Referenz. Werfen Sie gegebenenfalls einen Blick auf die Seite https://github.com/apple/swift-evolution!

Pläne für Swift 3.0 weiterlesen

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