La 5ème version du langage Swift d’Apple
L’ultime version de Swift, le langage de programmation de MacOS et iOS, admet de créer des apps plus légères et offre une interopérabilité optimum.
Apple a édité son langage de programmation Swift 5 avec une Application Binary Interface (ABI ou interface binaire-programme) et une compatibilité binaire qui, selon lui, admettront de développer des applications de plus petite taille. Cette version progresse aussi l’interopérabilité avec d’autres langages. Avec cette mise à niveau, l’ABI est fixe sur les plates-formes Apple, de sorte que les bibliothèques Swift sont aussitôt intégrées à toutes les futures versions de MacOS, iOS, WatchOS et TVOS. Comme les développeurs n’auront plus à inclure ces bibliothèques, les apps seront désormais plus légères et plus faciles à engendrer.
Parmi les autres innovations de Swift 5, les types appelables dynamiquement sont pris en charge pour améliorer l’interopérabilité avec des langages comme JavaScript, Python et Ruby. Par défaut, cette version 5 impose l’accès exclusif à la mémoire pour les builds de version et de débogage afin de progresser la sécurité du langage. Swift 5 offre une réimplémentation de String, de nouveaux types de données et un accès exclusif à la mémoire durant l’exécution. Dans la bibliothèque standard, String a été remis en oeuvre avec l’encodage UTF-8 au lieu de l’UTF-16, ce qui peut empresser le code. L’interopérabilité Objective-C est préservée.
Éventualité de créer des chaînes brutes
Swift 5 progresse les délimiteurs littéraux de chaînes de caractères pour prendre en charge le texte brut. Les chaînes de caractères multilignes et à ligne unique sont appuyées et peuvent contenir n’importe quel contenu. Dans un billet, le développeur Paul Hudson, qui anime le site Hacking with Swift, souligne l’intérêt de créer ainsi des chaînes brutes (raw strings) où les barres obliques inverses et les guillemets sont interprétés comme des symboles littéraux plutôt que comme des caractères d’échappement ou terminant une chaîne. « Cela facilite un certain nombre de cas d’utilisation, mais ce sont les expressions uniformes qui en bénéficieront », estime-t-il. Par ailleurs, les propriétés Unicode pour prendre en charge les traitements de texte courants et avancés sont ajoutées au type Unicode.Scalar. Pour les vecteurs SIMD (instruction unique, données multiples), la bibliothèque expose un sous-ensemble d’opérations sur les types SIMD consolidés par la plupart des processeurs de la bibliothèque.
Des progrès de performance ont été apportés au Dictionnaire et au Set. On trouve aussi l’ajout d’un type Result, pour progresser la gestion des erreurs. Le gestionnaire de paquets Swift Package Manager possède des paramètres de construction spécifiques à la cible, la mise en miroir des dépendances, des cibles de déploiement personnalisées et la possibilité d’engendrer des données de couverture de code. Enfin, la commande swift run admet d’importer des bibliothèques dans une boucle read Eval – print (REPL) sans avoir à bâtir un exécutable. Les binaires Swift pour Linux sont téléchargeables sur Swift.org. Le langage fait également partie de l’IDE Apple Xcode 10.2, accessible sur Mac App Store d’Apple.