Apple a sorti une mise à jour de Swift en même temps qu’iOS 13 la semaine dernière. Après Swift 5 sortie au printemps dernier, c’est au tour de Swift 5.1 d’avoir été finalisée. Comme son numéro de version l’indique, cette mise à jour n’est pas majeure, mais elle apporte quelques nouveautés pour les développeurs et elle constitue surtout une étape de plus en faveur de la stabilisation du langage.
Si vous développez des apps en Swift, les nouveautés du langage sont détaillées dans cet article accompagné d’exemples et une vidéo complète. Les changements permettent parfois d’obtenir un résultat avec moins de code ou plus simplement, dans d’autres cas il s’agit d’améliorer une méthode ou d’en généraliser une autre. Ces changements sont trop techniques et pointus pour entrer dans les détails nous-mêmes.
Côté stabilisation, Apple poursuit une entreprise lancée début 2017. Swift 4 a apporté la stabilisation du code-source, ce qui voulait dire que le code écrit à l’époque reste toujours parfaitement compatible avec les versions actuelles du langage. Swift 5 s’est chargé de la stabilisation ABI, une étape cruciale qui intègre aux systèmes d’exploitation des briques bas niveau indispensables que les apps devaient jusque-là fournir ; à la clé, on a notamment vu une légère réduction de la taille des apps.
Pour obtenir un langage parfaitement stabilisé, il restait encore quelques étapes. Swift 5.1 se charge de la stabilité des modules, ce qui permet de créer des frameworks partagés qui resteront compatibles avec toutes les futures mises à jour du langage. C’est important pour la phase de compilation, puisque jusque-là le compilateur ne savait gérer que les frameworks correspondants à la version de Swift en cours, pas les suivants.
La dernière étape sera la stabilité des libraries, ce qui permettra alors aux apps de bénéficier de nouveautés fournies par une library sans avoir à passer par une compilation. Apple a déjà bien avancé sur ce point, mais on ne sait pas encore quand elle sera finalisée. D‘ailleurs, on ne sait pas ce que le constructeur a prévu pour la suite. Est-ce que Swift 6 sera présenté en juin prochain, à l’occasion de la WWDC ? On pourrait aussi très bien avoir une nouvelle évolution mineure, le langage n’ayant plus besoin de changer aussi rapidement qu’à ses débuts.