Apple ouvre le système Source Swift et lance Swift 5.3
Apple a ouvert le code source de la bibliothèque Swift System. Il fournit un ensemble idiomatique d'interfaces de programmation pour les appels système et les types de données de bas niveau. À l'origine, Swift System ne prenait en charge que les appels système sur les plates-formes Apple, mais a également été porté sur Linux. Le système Swift est écrit en Swift, et la société le distribue sous la licence Apache 2.0.
Le système Swift est pratique car il fournit un point d'accès unique à toutes les interfaces du système. Cette fonctionnalité peut être utilisée sur toutes les plates-formes prises en charge, sans liaison C spécifique dans les programmes Swift. Du côté positif, le système Swift n'unifie pas les appels système, mais fournit un sous-ensemble distinct d'API pour chaque plate-forme prise en charge, en tenant compte de son comportement et en reflétant avec précision les interfaces du système d'exploitation de bas niveau.
La société avait précédemment déclaré que l'objectif principal du système Swift était de faciliter le développement de bibliothèques et d'applications multiplateformes, notamment SwiftNIO et SwiftPM. Le système Swift n'élimine pas le besoin de branchement basé sur «#if os ()» lorsqu'il fait référence à des primitives de bas niveau, mais il simplifie ce travail et le rend plus sûr.
Plus de nouvelles - Swift 5.3 est sorti . Les versions officielles sont prêtes pour des systèmes d'exploitation tels que Linux (Ubuntu 16.04 / 18.04 / 20.04, CentOS 7/8), macOS (Xcode 12) et Windows 10. Le code source est distribué sous la licence Apache 2.0.
La nouvelle version ajoute la prise en charge initiale de la plate-forme Windows, ainsi que la fourniture d'outils pour créer et exécuter des applications Swift sur Windows 10. Les développeurs continuent d'améliorer les fonctionnalités du langage. Entre autres nouveautés, il convient de noter l'apparition d'un initialiseur pour le type String, l'extension de l'utilisation de l'expression "where", le changement de sémantique didSet, la prise en charge de la spécification de plusieurs modèles dans les expressions Catch, l'ajout du type Float16 et les opérations de mémoire atomique.
Un point important est la réduction de la taille des applications résultantes. Ainsi, si dans Swift 4, la taille d'un programme déjà terminé dépassait de 2,3 fois l'analogue en Objective-C, cet écart a été réduit à 1,5 fois. La nouvelle version accélère également la génération incrémentielle et la génération de code avec un grand nombre de propriétés et de fonctions importées à partir d'autres bibliothèques. Les propriétés de diagnostic dans le compilateur et la qualité des messages d'erreur affichés ont été étendues. Le gestionnaire de packages implémente également la possibilité d'inclure des ressources supplémentaires dans les packages nécessaires à l'exécution. Par exemple, des images. Le gestionnaire de packages prend désormais en charge les composants de localisation avec la possibilité de définir des dépendances conditionnelles.
Swift est un langage moderne avec de nombreuses techniques de programmation modernes, y compris les fermetures, la programmation générique, les expressions lambda, les tuples et les types de dictionnaires, les opérations de collecte rapides et les éléments de programmation fonctionnels.
L'implémentation Swift implique l'utilisation de technologies issues du projet LLVM gratuit. Pour garantir des performances élevées, les applications Swift sont compilées en code machine qui s'exécute dans les tests Apple 30% plus rapidement que le code Objective-C. Par exemple, Swift utilise le comptage de références d'objets au lieu d'un garbage collector.
Le package comprend le Swift Package Manager, qui fournit des outils pour la distribution de modules et de packages avec des bibliothèques et des applications en langage Swift, la gestion des dépendances, le téléchargement automatisé, la création et la liaison de composants.