Programmiersprachen: Swift 3.1 bringt Linux-Version voran

Verbesserungen von Paketverwaltung und Standardbibliothek sowie Fortschritte bei der Linux-Implementierung der 2014 von Apple vorgestellten Programmiersprache machen das erste Minor Release der 3.x-Serie aus.

In Pocket speichern vorlesen Druckansicht 5 Kommentare lesen
Programmiersprachen: Swift 3.1 bringt Linux-Version voran
Lesezeit: 2 Min.
Von
  • Julia Schmidt

Gut ein halbes Jahr nach der Veröffentlichung der dritten Hauptversion von Apples Objective-C-Alternative steht nun dessen erstes Minor Release zur Verfügung. Besonders die Linux-Implementierung macht mit Swift 3.1 einen Satz nach vorn, aber auch Standardbibliothek und Package Manager haben einige Verbesserungen erhalten.

So speichert Letzterer nun die Package-Abhängigkeiten standardmäßig im Build-Verzeichnis und Nutzer können via swift package edit die Pakete direkt verändern. Außerdem zeichnet das System Abhängigkeiten neuerdings in einer Datei Package.pins auf, die beim Auflösen der Abhängigkeiten standardmäßig zum Einsatz kommen. Zusätzlich stehen die Befehle swift package pin und swift package unpin zur Verfügung – sollen die Abhängigkeiten aktualisiert werden, hilft swift package update, das auch die pin-Datei auf den neusten Stand bringt. Zu Beginn des Package.swift-Manifests wird nach dem Update festgehalten, welche Version der Swift-Tools das Paket benötigt, was sich mit swift package tools-version anpassen lässt. Um Tests zu beschleunigen, gibt es in swift test nun ein --parallel-Flag zur parallelisierten Testausführung.

Was die Sprache angeht, haben die Entwickler beispielsweise die Variante von UnsafeMutablePointer.initialize(from:), die eine Collection entgegennimmt, zugunsten einer neuen Methode in UnsafeMutableBufferPointer abgeschafft, die mit einer Sequence arbeitet und so die Speichersicherheit und Intialisierungsgeschwindigkeit erhöhen soll. Das Sequence-Protokoll ist mit zwei neuen Members, drop(while:) und prefix(while:), ausgestattet und es stehen für alle numerischen Typen Umwandlungsinitialisierer zur Verfügung.

Die Linux-Implementierung hat sich durch die Mitarbeit von Unternehmen wie IBM weiterentwickelt, sodass nun unter anderem Umsetzungen von NSDecimal, NSLengthFormatter und Progress enthalten sind. Verbesserungen sind zudem in der API-Abdeckung von URLSession, NSArray und NSAttributedString, der Testabdeckung und der Performance der JSON-Serialisierung zu finden.

Swift 3.1 ist kompatibel zu Version 3.0. Als Upgrade-Hilfe enthält Apples Entwicklungsumgebung Xcode 8.3 einen Code Migrator, außerdem steht ein Migration Guide bereit. Apple hatte die Sprache 2014 auf der hauseigenen Entwicklerkonferenz als Objective-C-Alternative vorgestellt und sie nach Ankündigung im Sommer 2015 im Dezember des Jahres in ein Open-Source-Projekt umgewandelt. (jul)