L’équipe de développement de Swift, le langage de programmation multiparadigme d’Apple, vient de dévoiler la feuille de route pour le développement de la prochaine version majeure du langage, Swift 3.0. Après le passage en open source en décembre dernier, l’équipe de développement de Swift a reçu de nombreuses propositions de la communauté, ouvrant ainsi des discussions sur les changements et nouvelles fonctionnalités de la prochaine version majeure.
Swift 2.2 a été publié en mars dernier ; une version axée sur la correction des bogues et qui a apporté la touche finale à certaines fonctionnalités introduites dans Swift 2.0. Cette version, disponible avec le support des distributions Linux, est également venue avec une amélioration des temps de compilation et de la performance. Elle introduit également des messages d’avertissements lorsque vous utilisez des fonctionnalités qui ne seront plus supportées dans Swift 3.0.
En parlant de fonctionnalités qui ne seront plus prises en charge dans Swift 3.0, il faut retenir que la prochaine version du langage d’Apple vient avec des changements qui rompent la compatibilité avec Swift 2.x. Cela vise à répondre aux nouveaux objectifs définis pour la première version majeure du langage depuis qu’il est open source. Des changements majeurs vont être introduits dans le langage et dans la bibliothèque standard.
Si Swift est un jeune langage, son développement rapide a été au prix de l’introduction de certaines fonctionnalités et API que l’équipe de développement estime non cohérentes avec le langage dans son ensemble. Certaines seront donc supprimées et d’autres, améliorées si possible pour rendre le langage plus cohérent.
L’objectif principal de cette nouvelle version est la stabilisation de l’interface binaire (ABI) du langage. Une ABI est 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. La stabilisation va s’étendre également à la bibliothèque standard, ses types de données, et des algorithmes de base. Cela devrait permettre aux applications et bibliothèques compilées avec les futures versions de Swift d’interagir à un niveau binaire avec les applications et les bibliothèques compilées avec Swift 3.0, même si le langage source change.
Swift 3.0 permettra aussi de résoudre le problème général de fragilité de l'interface binaire, qui exige actuellement qu'une application soit recompilée si l'une des bibliothèques dont elle dépend change. Un autre objectif est de rendre Swift disponible sur d’autres plateformes. Il s’agira aussi de s’assurer que le code Swift portable fonctionne correctement sur ces plateformes.
Ce n’est pas la liste exhaustive des chantiers clés de Swift 3.0. Il faut également noter qu’une trentaine de changements a déjà été implémentée. On peut citer par exemple la suppression des opérateurs ++ et --, une meilleure traduction des API Objective-C en Swift, la suppression des boucles for de style C avec conditions et incrémenteurs, etc.
Dans la foulée, l’équipe de développement de Swift a dû faire un choix et écarter certaines propositions intéressantes pour la version 3.0, ne pouvant pas toutes les implémenter maintenant. Elles seront donc implémentées dans les versions à venir. Parmi ces propositions faites par la communauté, on note par exemple l’interopérabilité C++. Swift offre une interopérabilité avec C et Objective-C, ce qui fait d’ailleurs une de ses forces. Il pourrait encore améliorer ses capacités à fonctionner avec les API existantes grâce à une interopérabilité avec les bibliothèques C++. Toutefois, l’équipe de développement de Swift estime que C++ est un langage très complexe et assurer une interopérabilité avec C++ est hors de portée pour la version 3.0.
Swift 3.0 vient encore avec Swift Package Manager, un outil pour gérer la distribution de code Swift. L’outil est encore au début de son développement, mais il prend en charge le développement et la distribution de paquets Swift cross-platform. Swift Package Manager sera disponible sur Darwin et Linux.
La branche de la première préversion développeur de Swift 3.0 sera créée le 12 mai et la préversion sera publiée 4 à 6 semaines plus tard. De nouvelles préversions seront également disponibles entre quatre et six semaines après une sortie. La version finale, quant à elle, est attendue plus tard cette année.
Sources : Swift.org, GitHub
Et vous ?
Utilisez-vous Swift ? Que pensez-vous de cette nouvelle version ?
Voir aussi :
Swift 2.2 est disponible avec le support des distributions Linux et la possibilité d'utiliser la plupart des mots clés comme étiquettes d'arguments
Swift open source, mais pas ouvert à toute proposition, la liste des requêtes peu susceptibles d'être acceptées a été publiée
La feuille de route du développement de Swift 3.0 dévoilée :
Une préversion chaque 5 semaines en moyenne et la version finale en fin 2016
La feuille de route du développement de Swift 3.0 dévoilée :
Une préversion chaque 5 semaines en moyenne et la version finale en fin 2016
Le , par Michael Guilloux
Une erreur dans cette actualité ? Signalez-nous-la !