Apple legt Betaversionen von Swift 5.0 und Xcode 10.2 vor

Dank des neuen Application Binary Interface lassen sich kompaktere Swift-Apps erzeugen, die außerdem binärkompatibel zu künftigen Sprachversionen sind.

In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen
Programmiersprache: Erste Development Snapshots von Swift 5 verfügbar
Lesezeit: 3 Min.
Von
  • Matthias Parbel

Mit der jetzt vorgelegten Betaversion von Swift 5.0 schließt Apple den Umbau des ABI (Application Binary Interface) ab. Die im Nachgang von Version 4.2 eingeleiteten – und im Swift ABI Manifesto auf GitHub zusammengefassten – Maßnahmen verfolgten das Ziel, eine betriebssystemübergreifende Kompatibilität von Swift Runtime, Libraries und Applikationen sicherzustellen.

Damit entfällt auch die bisherige Notwendigkeit, den mit den einzelnen Swift-Versionen kompilierten Code als separate Binary in die jeweilige App aufnehmen zu müssen. Vor allem Apps für iOS 12.2 fallen dadurch künftig schlanker aus. Darüber hinaus lassen sich ab Swift 5.0 auch Frameworks nutzen, die nicht an den Compiler gebunden sind, mit dem sie erstellt wurden. Das ABI gilt ab sofort als stabil und einsatzbereit, allerdings sind noch nicht alle geplanten Umbauaufgaben vollständig abgeschlossen – das betrifft insbesondere die technischen Spezifikationen für Type Metadata, Calling Conventions und Data Layout.

Neben dem ABI wartet Swift 5.0 auch mit einigen neuen Funktionen auf, darunter das Attribut @dynamicCallable, mit dem sich named types genauso aufrufen lassen wie functions. Die vereinfachte Syntax dient der dynamischen Sprach-Interoperabilität. Eine verbesserte String Interpolation verspricht mehr Leistung, Klarheit und Effizienz. Dazu haben die Swift-Entwickler auch das alte Protokoll _ExpressibleByStringInterpolation entfernt. Code, der noch auf dieses Protokoll angewiesen sein sollte, muss aktualisiert werden.

Im Swift Compiler hat Apple die Brücken zur Version 3 endgültig abgebrochen. Der -swift-version-Flag akzeptiert nur noch die Versionen 4, 4.2 und 5. Auch der Package Manager nimmt Abschied von Swift 3: Package.swift tools-version dieser veralteten Sprachversion müssen auf eine neuere tools-version aktualisiert werden.

Zeitgleich mit der neuen Sprachversion von Swift hat Apple auch die Entwicklungsumgebung Xcode in der neuen Betaversion 10.2 veröffentlicht, die SDKs für iOS 12.2, watchOS 5.2, macOS 10.14.4 und tvOS 12.2 enthält. Neben zahlreichen Neuerungen im Apple Clang Compiler macht sich Xcode 10.2 beim Download künftig das Content Caching von macOS zunutze.

Die Unterstützung für Swift 3 hingegen endet, Entwickler sollten älteren Code daher mindestens auf Swift 4.2 migrieren. Da anderseits viele neue Funktionen von Swift 5 nicht rückwärtskompatibel sind, empfiehlt es sich auch, Swift-4.2-Code zu aktualisieren. So lange Xcode 10.2 jedoch nur als Beta vorliegt, sollten Entwickler ihren Swift-Code kompatibel zu Version 10.1 halten, da nur dieses Release Apps in den App Store einreichen kann.

Registrierten Entwicklern steht die Betaversion der Entwicklungsumgebung inklusive der SDKs ab sofort zum Download bei Apple zur Verfügung. Die Release Notes fassen sämtliche Neuerungen in Xcode 10.2 und die Änderungen in Swift 5.0 zusammen. (map)