Neues in Swift

Swift 4.1 erschienen: Erweiterte Generics für Apples Programmiersprache
Keine Kommentare

Swift steht in der Version 4.1 bereit. Mit im Gepäck hat Apples Programmiersprache Neuerungen am Sprachkern, darunter erweiterte Generics, neue Build-Optionen und Updates für den Swift Package Manager.

Swift 4.1 ist ein Minor-Update und als solches kompatibel zu Swift 4.0. Nichtsdestotrotz haben es einige nützliche Erweiterungen in das Release geschafft.

Highlights in Swift 4.1

Sechs Neuerungen in Swift 4.1 betreffen den Ausbau der Generics. So wurden etwa sogenannte Conditional Conformances eingeführt. Dadurch kann spezifiziert werden, dass ein generischer Type einem bestimmten Protokoll nur dann entspricht, wenn dessen Typen-Argumente gewisse Bedingungen erfüllen.

Das folgende Beispiel demonstriert die Funktionsweise:

extension Array: Equatable where Element: Equatable {
  static func ==(lhs: Array<Element>, rhs: Array<Element>) -> Bool { ... }
}

Die Collection  Array implementiert das Protokoll Equatable nur dann, wenn ihre Elemente selbst Equatable sind.

Swift 4.1 führt außerdem erweiterte Möglichkeiten für Builds ein. So unterstützt der Compiler nun einen neuen Optimierungsmodus. Der Modus -Osize kompiliert nicht mehr in Hinblick auf eine maximale Performance, sondern mit dem Ziel, die Größe des Codes minimal zu halten.

In der Kommandozeile kann der neue Modus einfach anstelle des üblichen -O verwendet werden. In Xcode 9.3 existiert ein neues Build Setting für die Swift Compiler Code Generation:

Neue Build-Option in Xcode, Quelle: https://swift.org/blog/osize/

 

Der Swift Package Manager ist nun in der Lage, Abhängigkeiten in Package-Graphen aufzulösen, die unterschiedliche URL-Schemata wie ssh oder http verwenden. Zudem soll die Performance für Package-Graphen mit geteilten Abhängigkeiten deutlich gestiegen sein.

Weitere Verbesserungen in Swift 4.1 betreffen die Stabilisierung des ABI, Erweiterungen des Foundation Frameworks sowie ein Revamp des Playground QuickLook APIs.

Alle Neuerungen in Swift 4.1 sind in den Release Notes und in der aktualisierten Dokumentation nachzulesen. Bei einer Migration ist der Code-Migrator in Xcode 9.3 behilflich, mit dem sich viele Quellcode-Anpassungen automatisieren lassen. Zusätzlich steht ein ausführlicher  Migration guide zur Verfügung.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -