Programmiersprache: Swift 5.0 auf dem Weg zum Application Binary Interface

Die für das kommende Jahr angekündigte Version 5.0 der Programmiersprache bricht mit der Binärkompatibilität zu bisherigen Swift-Releases.

In Pocket speichern vorlesen Druckansicht 25 Kommentare lesen
Programmiersprache: Das sind wichtigsten Neuerungen von Swift 4.2

(Bild: Apple)

Lesezeit: 2 Min.
Von
  • Matthias Parbel

Das erst kürzlich offiziell veröffentlichte Release Swift 4.2 wird die letzte Version der von Apple stammenden Programmiersprache sein, die binärkompatiblen Code zu früheren Swift-Versionen einschließlich Version 3.0 bietet. Die nun aktualisierte Roadmap für Swift 5.0 sieht hingegen den vollständigen Wechsel zu einem neuen stabilen ABI (Application Binary Interface) vor, das Binärkompatibilität mit künftigen Swift-Versionen sicherstellen soll.

Erklärtes Ziel ist es, eine betriebssystemübergreifende Kompatibilität von Swift Runtime, Libraries und Applikationen zu erreichen. Die dafür erforderlichen Umbaumaßnahmen sind im Swift ABI Manifesto auf GitHub zusammengefasst.

Im Zusammenhang mit der angestrebten Stabilisierung des ABI arbeiten die Entwickler außerdem daran, das Swift Module File zu stabilisieren. Das Modul dient dem Compiler zum Check von Typen und der Code-Generierung, wenn Code für einen Client über ein Framework kompiliert wird. Module Stability ist ebenfalls für Swift 5.0 geplant, soll aber spätestens in den folgenden 5.x-Releases umgesetzt werden. Ein Großteil des mit dem Compiler von Swift 4.2 erstellten Codes soll nach Einschätzung der Entwickler auch mit dem Swift-5.0-Compiler nutzbar bleiben, der Kompatibilitätsmodus von Swift 3 wird hingegen nicht mehr unterstützt.

Ein erster swift-5.0-branch ist bereits vom Master abgetrennt, um die für Swift 5.0 vorgesehenen Änderungen festzulegen. Bis zum finalen Branching am 16. November 2018 sollen aber gelegentlich weitere Merges aus dem Master erfolgen, anschließend fließen nur noch ausgewählte, kritische Verbesserungen via Pull Requests ein. Explizit davon ausgenommen bleiben swift-package-manager, swift-llbuild, swift-corelibs-foundation, swift-corelibs-xctest und swift-corelibs-libdispatch. Deren Änderungen fließen weiterhin täglich in den Branch ein, auch über den 16. November hinaus. Darüber hinaus erfolgen sämtliche Neuerungen der Sprache und APIs nach den Vorgaben des Swift-Evolution-Prozess.

Für Zwecke des Continuous Integration Testing sollen regelmäßig Snapshots des Swift 5.0 Release Branch zum Download zur Verfügung gestellt werden. Weitere Details und Updates zu den Fortschritten bei Swift 5.0 finden sich im Swift-Blog und den Projektseiten auf GitHub.

Siehe hierzu auf heise Developer auch:

(map)