Apple hat den Quellcode der Swift System-Bibliothek geöffnet . Es bietet einen idiomatischen Satz von Programmierschnittstellen für Systemaufrufe und Datentypen auf niedriger Ebene. Swift System unterstützte ursprünglich nur Systemaufrufe auf Apple-Plattformen, wurde jetzt aber auch auf Linux portiert. Das Swift - System ist in Swift geschrieben, und das Unternehmen vertreibt sie unter der Apache - 2.0 - Lizenz.
Swift System ist praktisch, da es einen zentralen Zugriffspunkt auf alle Systemschnittstellen bietet. Diese Funktion kann auf allen unterstützten Plattformen ohne spezifische C-Bindung in Swift-Programmen verwendet werden. Positiv zu vermerken ist, dass Swift System Systemaufrufe nicht vereinheitlicht, sondern für jede unterstützte Plattform eine separate Teilmenge von APIs bereitstellt, die ihr Verhalten berücksichtigt und die Betriebssystemschnittstellen auf niedriger Ebene genau widerspiegelt.
Das Unternehmen gab zuvor an, dass ein Hauptziel des Swift-Systems darin besteht, die Entwicklung plattformübergreifender Bibliotheken und Anwendungen, einschließlich SwiftNIO und SwiftPM, zu vereinfachen. Das Swift-System beseitigt nicht die Notwendigkeit einer auf "#if os ()" basierenden Verzweigung, wenn auf Grundelemente auf niedriger Ebene verwiesen wird, vereinfacht jedoch diese Arbeit und macht sie sicherer.
Eine weitere Neuigkeit ist die Veröffentlichung von Swift 5.3 . Offizielle Assemblys sind für Betriebssysteme wie Linux (Ubuntu 16.04 / 18.04 / 20.04, CentOS 7/8), macOS (Xcode 12) und Windows 10 bereit. Der Quellcode wird unter der Apache 2.0-Lizenz verteilt.
Die neue Version bietet erste Unterstützung für die Windows-Plattform sowie die Bereitstellung von Tools zum Erstellen und Ausführen von Swift-Anwendungen unter Windows 10. Entwickler verbessern die Funktionalität der Sprache weiter. Unter anderem ist das Erscheinen eines Initialisierers für den String-Typ, die Erweiterung der Verwendung des "where" -Ausdrucks, die Änderung der didSet-Semantik, die Unterstützung für die Angabe mehrerer Vorlagen in Catch-Ausdrücken, das Hinzufügen des Float16-Typs und atomare Speicheroperationen erwähnenswert.
Ein wichtiger Punkt ist die Reduzierung der Größe der resultierenden Anwendungen. Wenn also in Swift 4 die Größe eines bereits abgeschlossenen Programms das Analogon in Objective-C um das 2,3-fache überstieg, wurde diese Lücke jetzt auf das 1,5-fache verringert. Die neue Version beschleunigt auch die inkrementelle Erstellung und Codeerstellung mit einer Vielzahl von Eigenschaften und Funktionen, die aus anderen Bibliotheken importiert werden. Die Diagnoseeigenschaften im Compiler und die Qualität der angezeigten Fehlermeldungen wurden erweitert. Der Paketmanager implementiert auch die Möglichkeit, zusätzliche Ressourcen in Pakete aufzunehmen, die zur Laufzeit benötigt werden. Zum Beispiel Bilder. Der Paketmanager unterstützt jetzt Lokalisierungskomponenten mit der Möglichkeit, bedingte Abhängigkeiten zu definieren.
Swift ist eine moderne Sprache mit vielen modernen Programmiertechniken, einschließlich Abschlüssen, generischer Programmierung, Lambda-Ausdrücken, Tupeln und Wörterbuchtypen, schnellen Erfassungsvorgängen und funktionalen Programmierelementen.
Die Swift-Implementierung sieht die Verwendung von Technologien aus dem kostenlosen LLVM-Projekt vor. Um eine hohe Leistung zu gewährleisten, werden Swift-Anwendungen zu Maschinencode kompiliert, der in Apple-Tests 30% schneller als Objective-C-Code ausgeführt wird. Beispielsweise verwendet Swift anstelle eines Garbage Collectors die Objektreferenzzählung.
Das Paket enthält den Swift Package Manager, der Tools zum Verteilen von Modulen und Paketen mit Bibliotheken und Anwendungen in der Swift-Sprache, zum Verwalten von Abhängigkeiten, zum automatisierten Herunterladen, Erstellen und Verknüpfen von Komponenten bereitstellt.
