Langage Swift : une version 3.0 presque terminée et un modèle open source qui fonctionne

Brouhaha, brouhaha, brouhaha
Logiciel 3 min
Langage Swift : une version 3.0 presque terminée et un modèle open source qui fonctionne

Apple approche de la version 3.0 de son langage Swift, l’occasion pour l’éditeur de faire le point sur les avancées et l’impact du modèle open source mis en place l’année dernière. Il aborde également les évolutions prévues pour la version 4.0, prévue pour l’année prochaine.

Swift est le langage qui a pris le relai chez Apple de l’Objective-C, même si ce dernier est toujours supporté. Il rencontre un vrai succès, et pour s’assurer que cette courbe continuerait à grimper, Apple a choisi de rendre son produit open source l’année dernière, à l’occasion de la sortie de Swift 2.0. Depuis, la troisième mouture majeure est en développement et doit arriver en même temps qu’iOS 10 et macOS Sierra cet automne.

Une bascule open source positive, avec quelques difficultés

Chris Lattner, en charge chez Apple des outils de développement, indique que le passage à l’open source a été profitable, en dépit d’un certain nombre de soucis. Selon lui, ce modèle prend plus de temps et est moins prévisible, sans doute parce que le nombre d’avis à prendre en compte est nettement supérieur. Swift 3.0 comptait ainsi une liste précise de fonctionnalités prévues, mais certaines ont dû être repoussées.

Même s’il est « impossible de rendre tout le monde heureux », il se félicite par contre d’une communauté si « pleine de vie », avec un bilan positif donc. Il faudra donc pour le responsable renforcer à l'avenir la communication, la transparence dans les décisions et le respect de certains limites temporelles.

Swift 3.0 sera une aussi grande cassure que la version 2.0

Swift 3.0 comportera un grand nombre de changements, dont beaucoup sont incompatibles avec le code utilisé actuellement. En clair, il y a de grandes chances que les applications ne puissent pas être compilées sans que les changements nécessaires aient été faits. Par exemple, tous les paramètres de fonctions comportent des labels, à moins que le développeur ne spécifie explicitement que ce n’est pas le cas.

Autre changement important, le retrait des mots inutiles dans le code. Par exemple, UIColor.blueColor devient simplement UIColor.blue, numbers.minElement devient numbers.min, attributedString.appendAttributedString devient attributedString.append et ainsi de suite. L’importation du code rédigé en C permet en outre de définir des attributs pour les fonctions, simplifiant le travail du développeur. Ainsi, toutes les fonctions débutant par CGContext sont réorientées vers les méthodes d’un objet CGContext.

Swift 4.0 renforcera avant tout la stabilité

L’année prochaine, également en automne, sortiront les versions 3.1 et 4.0. Comme on s’en doute, la mouture 3.1 sera une évolution de la 3.0 – sans cassure dans la compatibilité – tandis que Swift 4.0 introduira des changements plus profonds. L’objectif principal sera une hausse de la stabilité pour le code open source et l’ABI (Application Binary Interface). Ce travail sera prioritaire, excluant d’office toutes les fonctions supplémentaires, pour se concentrer sur celles qui pourraient modifier le fonctionnement de l’ABI. Une réflexion sur l’utilisation de la mémoire est également prévue, pour rendre Swift plus adapté à des cas particuliers, comme du code de traitement audio temps réel.

Après cette étape, et seulement si les développeurs en ont le temps, des apports seront réalisés. Lattner évoque de nouvelles capacités de scripts, une poursuite du travail sur la data reflection commencé dans Swift 3.0, l’arrivée des expressions régulières, le support des sous-modules, l’import d’API C++ ou encore le support renforcé du parallélisme. Mais dans l’immédiat, il est impossible de savoir quels ajouts seront intégrés.

Vous n'avez pas encore de notification

Page d'accueil
Options d'affichage
Abonné
Actualités
Abonné
Des thèmes sont disponibles :
Thème de baseThème de baseThème sombreThème sombreThème yinyang clairThème yinyang clairThème yinyang sombreThème yinyang sombreThème orange mécanique clairThème orange mécanique clairThème orange mécanique sombreThème orange mécanique sombreThème rose clairThème rose clairThème rose sombreThème rose sombre

Vous n'êtes pas encore INpactien ?

Inscrivez-vous !