Apple a annoncé le lundi la disponibilité de la version 5 du langage de programmation Swift. Comme toute nouvelle version, la firme de Cupertino a communiqué que Swift 5 introduit de nouvelles fonctionnalités notamment la stabilité de l'ABI pour les plateformes iOS dont les travaux ont démarré depuis la version 4.2 du langage, une réimplémentation de String, un accès exclusif à la mémoire pendant l’exécution, la prise en charge des types appelables de manière dynamique et bien d’autres encore. Swift 4.2 était axée sur la stabilisation de l'ABI (application binary interface) du langage. Pour information, une ABI ou interface binaire-programme décrit une interface de bas niveau entre les applications et le système d'exploitation, entre une application et une bibliothèque ou entre différentes parties d’une application.
Swift 4.2 a été une étape intermédiaire pour atteindre la stabilité de l'ABI dans la version 5.0 de Swift. Apple avait concentré une grande partie de ses efforts sur la stabilité de l'ABI afin de permettre à l’avenir une compatibilité binaire entre les applications et les bibliothèques compilées avec différentes versions de Swift. Dans Swift 4.2, Apple a donc posé les bases de la stabilisation de l'ABI Swift ; ce qui fait d'ailleurs que Swift 4.2 n'est pas compatible niveau binaire avec les versions précédentes du langage. Beaucoup de ces changements sont liés à la performance, et d'après l'équipe Swift, il est nécessaire de déployer les changements ABI de manière incrémentielle afin de donner suffisamment de temps aux utilisateurs pour les évaluer avant qu'ils soient inclus dans l'ABI finale.
« Swift 5 est une étape majeure dans l'évolution du langage. Grâce à la stabilité ABI, le runtime Swift est désormais inclus dans les versions actuelles et futures des systèmes d'exploitation de la plateforme Apple : Mac OS, iOS, tvOS et watchOS », a déclaré l’entreprise dans le billet de présentation. À présent, la stabilité d'ABI est effective dans Swift 5 pour toutes les plateformes Apple. En conséquence, ajoute Apple, les bibliothèques Swift sont désormais intégrées à chaque nouvelle version de Mac OS, iOS, tvOS et watchOS. La création de vos applications sera désormais un exercice plus facile et leurs tailles seront plus petites, car vous n’aurez plus à inclure ces bibliothèques à chacune d’entre elles.
Quelque part sur le Net, on estime que ces changements vont permettre d’avoir une réduction remarquable de la taille (de l’ordre de 10 à 30 %) des applications et les délais de lancement seront également plus rapides. Ce qui contribuera sans doute, disent-ils, à améliorer l’expérience utilisateur des amoureux de la marque à la pomme. Pour ces derniers, bien qu’il ne soit pas trop tôt, c’est une bonne nouvelle d’apprendre qu’Apple a mis en cache dans la mémoire système les bibliothèques nécessaires à l’exécution d’une application.
Mis à part cela, Swift 5 apporte un lot de nouvelles fonctionnalités ainsi que quelques améliorations. La bibliothèque standard du langage a été mise à jour notamment avec une réimplémentation de String avec le codage UTF-8 (ce qui peut entraîner un code plus rapide), une amélioration de la prise en charge des littéraux de chaîne bruts, une amélioration de l’interpolation de chaîne offrant plus de flexibilité pour construire du texte à partir de données, etc.
Le billet présente également une mise à jour du gestionnaire de paquets (Package Manager) et du compilateur. Swift Package Manager inclut maintenant un certain nombre de nouvelles fonctionnalités telles que la mise en miroir des dépendances, les paramètres de construction spécifiques à la cible, les cibles de déploiement personnalisées et la possibilité de générer des données de couverture de code.
De plus, la commande Swift run inclut désormais la possibilité d'importer des bibliothèques dans un REPL sans avoir à créer d'exécutable. Ensuite, l’équipe du langage a expliqué que Swift 5 applique par défaut l’application d’un accès exclusif à la mémoire pour les versions de débogage et de publication. Swift 5 prend également en charge les types appelables de manière dynamique, ce qui contribue à améliorer l’interopérabilité avec des langages dynamiques tels que Python, JavaScript et Ruby.
Enfin, pour faciliter le passage à Swift 5 des versions précédentes de Swift, Xcode 10.2 d’Apple contient un migrateur de code capable de gérer automatiquement la plupart des modifications de source nécessaires. Un guide à ce propos est également fourni par Apple pour vous guider à travers de nombreux changements, en particulier ceux qui sont moins mécaniques et nécessitent un examen plus approfondi.
Source : Blog Swift
Et vous ?
Que pensez-vous de cette nouvelle version de Swift ?
Voir aussi
Avec Swift 4.2, Apple se prépare à la stabilisation de l'ABI Swift dans la version 5.0 du langage qui est prévue plus tard dans l'année
SWIFT se prépare à dévoiler un nouveau plan de sécurité après les vols de banque « il y aura un avant et un après Bangladesh » a déclaré son PDG
Programmation : Python gagne de plus en plus en popularité et Swift fait à nouveau son entrée dans le top 10 de l'index TIOBE d'octobre 2018
Swift 5 est disponible avec de nouveaux types de données, une stabilité de l'ABI,
Une réimplémentation UTF-8 de String et bien d'autres
Swift 5 est disponible avec de nouveaux types de données, une stabilité de l'ABI,
Une réimplémentation UTF-8 de String et bien d'autres
Le , par Bill Fassinou
Une erreur dans cette actualité ? Signalez-nous-la !