Apple lance le langage de programmation Swift 5.3 et la bibliothèque open source Swift System

Pomme annoncé le à propos de l'ouverture du code source de la bibliothèque Système Swift, qui fournit un ensemble idiomatique d'interfaces de programmation pour les appels système et les types de données de bas niveau. Swift System ne prenait à l'origine en charge que les appels système pour les plates-formes Apple, mais a maintenant été porté sur Linux. Le code du système Swift est écrit en langage Swift et distribué par sous licence Apache 2.0.

Swift System fournit un point d'accès unique aux interfaces système qui peuvent être utilisées sur toutes les plates-formes prises en charge sans avoir besoin de frameworks C spécifiques dans les programmes Swift. Dans le même temps, Swift System n'unifie pas les appels système eux-mêmes, mais fournit un sous-ensemble distinct d'API pour chaque plate-forme prise en charge, en tenant compte du comportement de cette plate-forme et en reflétant avec précision les interfaces de bas niveau du système d'exploitation. L'objectif principal de la création du système Swift est de simplifier le développement de bibliothèques et d'applications multiplateformes telles que SwiftNIO и SwiftPM. Le système Swift n'élimine pas le besoin de créer des branches basées sur "#if os()" lors de l'accès aux primitives de bas niveau, mais il rend ce travail plus sûr et
confortable.

On peut aussi noter la publication de version du langage de programmation Swift 5.3. Constructions officielles préparé pour Linux (Ubuntu 16.04/18.04/20.04, CentOS 7/8), macOS (Xcode 12) et Windows 10. Textes sources propagé sous licence Apache 2.0.

La nouvelle version ajoute la prise en charge initiale de la plate-forme Windows et a commencé fourniture d'outils pour créer et exécuter des applications Swift sur Windows 10. Les fonctionnalités du langage ont continué à être affinées. Les nouvelles fonctionnalités incluent l'ajout d'un initialiseur pour le type String, l'utilisation étendue de l'expression « where », des modifications dans la sémantique didSet, la prise en charge de la spécification de plusieurs modèles dans les expressions Catch et l'ajout d'un type.
Flotteur16, atomique opérations de mémoire.

La taille des applications résultantes a été réduite - si dans Swift 4 la taille du programme assemblé était 2.3 fois plus grande que la version en Objective-C, l'écart a désormais été réduit à 1.5 fois. La nouvelle version accélère également considérablement la construction incrémentielle et le code de construction grâce à un grand nombre de propriétés et de fonctions importées d'autres bibliothèques. Les outils de diagnostic du compilateur et la qualité des messages d'erreur ont été améliorés. Le gestionnaire de packages offre la possibilité d'inclure des ressources supplémentaires nécessaires à l'exécution, telles que des images, dans les packages. Le gestionnaire de packages ajoute également la prise en charge des composants pour la localisation et la possibilité de définir des dépendances conditionnelles.

Rappelons que le langage Swift hérite des meilleurs éléments des langages C et Objective-C, et fournit un modèle objet compatible avec Objective-C (le code Swift peut être mixé avec du code C et Objective-C), mais s'en distingue par l'utilisation de langages automatiques. allocation de mémoire et contrôle du débordement de variables et de tableaux, ce qui augmente considérablement la fiabilité et la sécurité du code. Swift propose également de nombreuses techniques de programmation modernes, telles que les fermetures, la programmation générique, les expressions lambda, les tuples et les types de dictionnaire, les opérations de collecte rapide et les éléments de programmation fonctionnelle. La version Linux n'est pas liée au Runtime Objective-C, ce qui permet d'utiliser le langage dans des environnements ne prenant pas en charge Objective-C.

L'implémentation Swift est construite à l'aide des technologies du projet gratuit LLVM. Pour garantir des performances élevées, les programmes Swift sont compilés dans un code natif qui s'exécute 30 % plus rapidement que le code Objective-C dans les tests Apple. Au lieu d'un garbage collector, Swift utilise le comptage de références d'objets. Le package comprend un gestionnaire de packages Gestionnaire de paquets Swift, qui fournit des outils pour distribuer des modules et des packages avec des bibliothèques et des applications en langage Swift, gérer les dépendances, charger automatiquement, créer et relier des composants.

Source: opennet.ru

Ajouter un commentaire