Après la sortie de Swift 5.1 en septembre 2019, Apple a publié cette semaine la première version bêta de Swift 5.2. Cette version bêta de Swift 5.2 a été publiée en même temps que la version bêta de Xcode 11.4. Elle comprend une poignée de changements ainsi que des réductions de la taille du code et de l'utilisation de la mémoire. Elle apporte aussi une nouvelle architecture de diagnostic qui vous aidera à diagnostiquer les erreurs plus rapidement.
Swift 5.1 s'appuie sur les points forts de Swift 5. Cette version de Swift a étendu les fonctionnalités stables du langage pour compiler le temps avec l'introduction de la stabilité des modules. Depuis Swift 5.1, il est possible de créer et de partager des frameworks binaires qui peuvent fonctionner avec les futures versions de Swift. La version 5.1 du langage a aussi apporté des fonctionnalités telles que les enveloppes de propriétés, les types de résultats opaques, la recherche de membres de chemins clés, de nouvelles API pour String, etc.
Les nouvelles fonctionnalités de Swift 5.1 ont facilité la conception de meilleures API et bien d’autres choses. La version 5.2 de Swift étend à son tour les fonctionnalités de la précédente version. Jetons un coup d’oeil ci-dessous aux nouveautés de Swift 5.2.
Swift 5.2 introduit des valeurs appelables statiquement dans le langage. En fait, les valeurs appelables sont des valeurs qui définissent un comportement de type fonctionnel et peuvent être appelées en utilisant la syntaxe d'appel de fonction. Elles sont différentes des valeurs appelables dynamiquement. Cette fonctionnalité prend en charge les arités déclarées statiquement, les étiquettes d'arguments et les types de paramètres, et n'est pas limitée aux déclarations de type primaire. Elle apporte plus de flexibilité aux développeurs.
Cette fonctionnalité vous permet désormais de directement appeler une valeur si son type implémente une méthode appelée callAsFunction(). Swift adapte de manière automatique vos sites d'appel en fonction de la définition de callAsFunction(). Par exemple, vous pouvez ajouter autant de paramètres que vous le souhaitez, vous pouvez contrôler la valeur de retour, et vous pouvez même marquer les méthodes comme étant muettes (mutating) si nécessaire. Pour une utilisation plus avancée, callAsFunction() supporte à la fois throws et rethrows, et vous pouvez même définir plusieurs méthodes callAsFunction() sur un seul type. Swift choisira la bonne en fonction du site d'appel, tout comme une surcharge normale.
En ajoutant des indices personnalisés à un type de votre code, vous pouvez désormais utiliser des arguments par défaut pour n'importe lequel des paramètres. Par exemple, en présence d’une structure PoliceForce qui a un indice personnalisé pour lire les officiers de la force, vous pourriez ajouter un paramètre par défaut à renvoyer si quelqu'un essaie de lire un index en dehors des limites du tableau. Notez que vous devez écrire vos étiquettes de paramètres deux fois si vous voulez qu'elles soient utilisées, car les indices n'utilisent pas d'étiquettes de paramètres autrement.
Swift 5.2 a introduit une nouvelle architecture de diagnostic qui vise à améliorer la qualité et la précision des messages d'erreur émis par Xcode lorsque vous faites une erreur de codage. C’est particulièrement évident lorsque l'on travaille avec du code SwiftUI, où Swift produirait souvent des messages d'erreur faussement positifs.
Les développeurs de Swift ont introduit dans le langage une fonction qui permet d'utiliser des raccourcis clavier dans certaines circonstances spécifiques. Vous avez la possibilité d'utiliser “\Root.value” partout où les fonctions “(Root)->Value” sont autorisées.
Source : Swift
Et vous ?
Que pensez-vous des nouveautés dans Swift 5.2 ?
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 4.0 : la nouvelle version du langage de programmation d'Apple est disponible avec deux modes de langage pour assurer une migration en douceur
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.2 est disponible avec une nouvelle architecture de diagnostic
Qui vise à améliorer la qualité et la précision des messages d'erreur
Swift 5.2 est disponible avec une nouvelle architecture de diagnostic
Qui vise à améliorer la qualité et la précision des messages d'erreur
Le , par Bill Fassinou
Une erreur dans cette actualité ? Signalez-nous-la !