Swift 3 ist seit gut einem halben Jahr offiziell freigegeben und erhältlich, und heute werden bereits die Weichen für den nächsten großen Major Release gestellt. Auf der offiziellen Projektwebsite swift.org hat Apple dazu Mitte Februar einen zugehörigen Blog-Beitrag veröffentlicht, in dem das Unternehmen schildert, wie der offizielle Release-Prozess von Version 4 von Swift ablaufen soll und was bei bestehenden Projekten zu beachten ist.

Kompatibilität zu Swift 3

Die gute Nachricht gleich vorneweg: Im Gegensatz zu den bisherigen Major Releases von Swift wird Version 4 erstmals Quellcode-kompatibel zur aktuellen Version 3 sein. Das bedeutet, dass in Swift 3 geschriebener Code auch unter Swift 4 ohne Probleme auszuführen sein soll und es keiner Adaption neuer APIs und Funktionen bedarf.

So erfreulich diese Tatsache ist, so bringt sie doch auch einen entscheidenden (wenn auch nachvollziehbaren) Nachteil mit sich: Neue Funktionen und APIs von Swift 4 lassen sich nämlich dann nicht nutzen, dazu ist eine komplette Umstellung auf die neue Version in eigenen Projekten erforderlich. Hierbei kommt dann wieder (leider) das altbekannte Problem zum Tragen, dass bisheriger Code aufgrund von in Swift 4 geänderter APIs erst aktualisiert werden muss, ehe er wieder ausgeführt werden kann.

Zwei Modi

Der Swift-Compiler lässt sich mit der kommenden Version 4 der Programmiersprache in zwei verschiedenen Modi ausführen: -swift-version 3 und -swift-version 4. Je nachdem, welcher Modus gesetzt ist, funktioniert bestehender, in Swift 3 verfasster Code wie gewohnt (Modus -swift-version 3), dafür bleiben einem aber neue APIs und Funktionen von Swift 4 verwehrt. Oder aber man nutzt die Neuerungen von Swift 4, muss dafür aber womöglich bestehenden Code an der ein oder anderen Stelle für die Nutzung unter Swift 4 anpassen (Modus -swift-version 4).

Dank dieser beiden Compiler-Modi dürfte sich der Wechsel von Swift 3 nach Swift 4 – im Gegensatz zu den bisherigen Updates der Programmiersprache – sehr entspannt gestalten. Ein Wechsel zu Swift 4 ist – ganz grundsätzlich – zunächst einmal gar nicht notwendig und kann dank des Compiler-Modus -swift-version 3 einfach unterdrückt werden. Möchte man früher oder später die Neuerungen von Swift 4 nutzen, kann man dann nach eigenem Gusto jederzeit einfach den Compiler-Modus wechseln und im Anschluss eventuell notwendige Anpassungen am bestehenden Code vornehmen.

Geringe Unterschiede zwischen Swift 3 und Swift 4

Viel ist bisher über die geplanten Neuerungen in Swift 4 noch nicht bekannt. Nach aktuellem Stand wird der Value Type String einige massive Veränderungen erfahren und damit wohl auch eines der Elemente sein, die einem bei der Migration von Swift 3 nach Swift 4 die meiste Arbeit abverlangen werden.

Doch Apple verspricht in seinem eingangs erwähnten Blog-Beitrag, dass die Änderungen am Code für Entwickler deutlich geringer ausfallen sollen als der letzte große Sprung von Swift 2.2 nach Swift 3. Freilich bleibt es abzuwarten, ob es am Ende auch tatsächlich so kommen wird, die Bestrebungen Apple’s diesbezüglich lassen mich persönlich aber guter Hoffnung sein, dass der Wechsel von Swift 3 nach Swift 4 tatsächlich unproblematischer vonstatten gehen wird als bisherige Updates der Programmiersprache.

Apropos Wechsel: Selbstverständlich wird Apple’s IDE Xcode wieder einen Migrationsassistenten mitbringen, der beim Umstieg auf Swift 4 helfen und (hoffentlich) den Großteil der Arbeit abnehmen wird.

Mixing Code in Projekten

Möchte man selbst in den eigenen Projekten nach Release von Swift 4 diese neue Version auch nutzen, setzt aber gleichzeitig auf Frameworks, die noch nicht für Swift 4 optimiert wurden, muss man sich keine Sorgen machen. Die genannten Compiler-Modi zur Verwendung von Swift 3 oder Swift 4 werden auf Target-Ebene festgelegt, weshalb es kein Problem ist, beispielsweise ein Framework auf Swift 4-Basis in Swift 3-Projekten einzubinden und umgekehrt.

Noch bleibt aber sowieso einiges an Zeit, bis Swift 4 tatsächlich für App-Entwickler relevant werden wird. Voraussichtlich zur WWDC 2017 wird es eine erste Vorschauversion der Sprache mit der kommenden Xcode-Version geben, der Release der finalen Version ist aktuell für Herbst diesen Jahres geplant.

Einsteiger und Umsteiger, die mit Swift 3 arbeiten wollen, finden im Buch Swift 3 im Detail von Thomas Sillmann umfassende Informationen:

Sillmann, Swift 3

Sillmann, Swift 3