Apple veröffentlicht die Programmiersprache Swift 5.3 und die Open-Source-Bibliothek Swift System

Apfel kündigte die über das Öffnen des Quellcodes der Bibliothek Swift-System, das einen idiomatischen Satz von Programmierschnittstellen für Systemaufrufe und Low-Level-Datentypen bereitstellt. Swift System unterstützte ursprünglich nur Systemaufrufe für Apple-Plattformen, wurde nun aber auf Linux portiert. Der Swift-Systemcode ist in der Swift-Sprache geschrieben und vertrieben von lizenziert unter Apache 2.0.

Swift System bietet einen einzigen Zugriffspunkt auf Systemschnittstellen, der auf allen unterstützten Plattformen verwendet werden kann, ohne dass spezielle C-Frameworks in Swift-Programmen erforderlich sind. Gleichzeitig vereinheitlicht Swift System nicht die Systemaufrufe selbst, sondern stellt für jede unterstützte Plattform eine separate Teilmenge von APIs bereit, die das Verhalten dieser Plattform berücksichtigt und die Low-Level-Schnittstellen des Betriebssystems genau widerspiegelt. Das Hauptziel der Entwicklung des Swift-Systems besteht darin, die Entwicklung plattformübergreifender Bibliotheken und Anwendungen wie z SwiftNIO и SwiftPM. Das Swift-System macht die Verzweigung basierend auf „#if os()“ beim Zugriff auf Low-Level-Primitive nicht überflüssig, macht diese Arbeit aber sicherer und sicherer
komfortabel.

Es kann auch vermerkt werden Veröffentlichung Veröffentlichung einer Programmiersprache Schnelles 5.3. Offizielle Builds bereit für Linux (Ubuntu 16.04/18.04/20.04, CentOS 7/8), macOS (Xcode 12) und Windows 10. Quelltexte Ausbreitung lizenziert unter Apache 2.0.

Die neue Version bietet anfängliche Unterstützung für die Windows-Plattform und gestartet Bereitstellung von Tools zum Erstellen und Ausführen von Swift-Anwendungen unter Windows 10. Die Sprachfunktionalität wurde weiter verfeinert. Zu den neuen Funktionen gehören das Hinzufügen eines Initialisierers für den String-Typ, die erweiterte Verwendung des „where“-Ausdrucks, Änderungen in der didSet-Semantik, die Unterstützung für die Angabe mehrerer Muster in Catch-Ausdrücken und das Hinzufügen eines Typs
Float16, atomar Speicheroperationen.

Die Größe der resultierenden Anwendungen wurde reduziert – war in Swift 4 die Größe des zusammengestellten Programms 2.3-mal größer als die Version in Objective-C, wurde die Lücke jetzt auf das 1.5-fache reduziert. Die neue Version beschleunigt außerdem das inkrementelle Erstellen und Erstellen von Code erheblich, da eine große Anzahl von Eigenschaften und Funktionen aus anderen Bibliotheken importiert werden. Die Diagnosetools im Compiler und die Qualität der Fehlermeldungen wurden verbessert. Der Paketmanager bietet die Möglichkeit, zusätzliche zur Laufzeit benötigte Ressourcen, wie zum Beispiel Bilder, in Pakete einzubinden. Der Paketmanager bietet außerdem Unterstützung für Komponenten zur Lokalisierung und die Möglichkeit, bedingte Abhängigkeiten zu definieren.

Denken Sie daran, dass die Swift-Sprache die besten Elemente der C- und Objective-C-Sprachen erbt und ein mit Objective-C kompatibles Objektmodell bereitstellt (Swift-Code kann mit C- und Objective-C-Code gemischt werden), sich jedoch in der Verwendung von Automatik unterscheidet Speicherzuweisung und Kontrollüberlauf von Variablen und Arrays, was die Zuverlässigkeit und Sicherheit des Codes erheblich erhöht. Swift bietet außerdem viele moderne Programmiertechniken, wie zum Beispiel Abschlüsse, generische Programmierung, Lambda-Ausdrücke, Tupel und Wörterbuchtypen, schnelle Sammlungsoperationen und Elemente der funktionalen Programmierung. Die Linux-Version ist nicht an die Objective-C-Runtime gebunden, was den Einsatz der Sprache in Umgebungen ohne Objective-C-Unterstützung ermöglicht.

Die Swift-Implementierung basiert auf Technologien aus dem kostenlosen LLVM-Projekt. Um eine hohe Leistung zu gewährleisten, werden Swift-Programme in nativen Code kompiliert, der in Apple-Tests 30 % schneller als Objective-C-Code läuft. Anstelle eines Garbage Collectors verwendet Swift die Objektreferenzzählung. Das Paket enthält einen Paketmanager Swift-Paket-Manager, das Tools zum Verteilen von Modulen und Paketen mit Bibliotheken und Anwendungen in der Swift-Sprache, zum Verwalten von Abhängigkeiten, zum automatisierten Laden sowie zum Erstellen und Verknüpfen von Komponenten bereitstellt.

Source: opennet.ru

Kommentar hinzufügen