Swift 5.1 Rollout: Améliorations importantes à connaître
Swift 5.1: particularité des nouvelles fonctionnalités du Xcode 11 d’Apple
Swift 5.1 est la dernière version majeure d’Apple de son langage de programmation polyvalent et compilé, Swift. La nouvelle version offre une plus grande stabilité ainsi que plusieurs autres améliorations. Si vous avez manqué les nouvelles fonctionnalités depuis qu'Apple a annoncé la nouvelle sur Swift.org, voici votre meilleure chance de jeter un coup d'œil aux fonctionnalités qui différencient Swift 5.1 de ses prédécesseurs.
Quoi de neuf dans Swift 5.1?
Alors que Swift 5.0 a été introduit avec la stabilité ABI qui résolvait les différences de Swift pendant l'exécution, Swift 5.1 est livré avec la stabilité du module qui réduit les différences pendant le temps de compilation. Cela signifie que les futures versions de Swift pourront créer et partager des frameworks binaires. En outre, les améliorations critiques apportées au langage et aux bibliothèques standard, ainsi que les fonctionnalités de Swift UI, constituent des changements majeurs.
Jetons un coup d'œil aux détails:
Stabilité du format du module
Swift 5.1 a atteint la stabilité du format du module, c'est-à-dire qu'il peut activer la compatibilité des bibliothèques au moment de la compilation. Avec cette fonctionnalité, les bibliothèques tierces peuvent être utilisées sans se soucier de la version du compilateur Swift avec laquelle il a été construit. Pour être plus précis, si la stabilité ABI assure la compatibilité des applications pendant l'exécution, la stabilité du module garantit la compatibilité de la bibliothèque pendant la compilation.
La stabilité du format de module peut stabiliser le fichier de module afin de produire .swiftinterface, qui est la représentation du compilateur des interfaces publiques dans un cadre. En résumé, avec la stabilité du format de module, un nouveau fichier d'interface de module basé sur du texte est défini et décrit l'API d'un framework binaire.
Mises à jour du nouveau langage et du compilateur
1. Wrappers de propriétés – Les wrappers de propriétés sont la généralisation d'une fonctionnalité accessible à l'utilisateur utilisée pour définir des modèles d'accès personnalisé pour les opérations atomiques, les valeurs de propriétés, etc.
L'attribut @propertyWrapper a 4 cas d'utilisation principaux, tels que les valeurs contraignantes, l'audit de l'accès aux propriétés, la modification de la sémantique de comparaison et la transformation des valeurs lors de l'attribution de propriétés.
2. Types de retour opaques – Ce type renvoie une valeur pour une méthode, sans révéler essentiellement le type de valeur sous-jacent au client qui appelle l'API. Cette fonctionnalité offre une meilleure encapsulation.
3. Le mot clé return n'est plus nécessairement utilisé pour les fonctions d'expression simples, ainsi que pour les fonctions getter.
4. Les indices statiques et Les indices de classe sont des fonctions puissantes qui peuvent prendre des arguments pour modifier les paramètres génériques afin de prendre en charge de nombreuses propriétés. Initializer membre par synthèse synthétisé pour les structures – Contrairement aux versions précédentes de Swift dans lesquelles un initialiseur membre par seconde était automatiquement créé pour accepter les paramètres correspondant aux propriétés d'une structure, ici dans Swift 5.1, l'initialiseur membre par membre utilise désormais les valeurs de paramètre par défaut. toutes les propriétés qui les utilisent.
6. Self est rendu universel pour pouvoir faire référence à un type contenant tout en étant utilisé à l'intérieur de classes, d'énums et de structures.
7. Les options de Swift sont implémentées en tant qu’énumérations de 2 cas différents – certaines et aucune .
8. Des énumérations facultatives peuvent désormais être comparées à des non-optionnels – Swift disposait déjà de moyens de gérer la correspondance de modèle de casse entre les optionnels et les non-optionnels dans le cas d'entiers et de chaînes, Swift 5.1 a étendu la fonctionnalité à
Mises à jour de la bibliothèque standard
- Ajouts SIMD – Plusieurs améliorations de l’API, telles que scalarCount, .one, min, max, clamp, vecteurs étendus, swizzling, etc., sont quelques ajouts importants à Swift 5.1
- Initialisation du tableau Avec un accès illimité au stockage – Introduction d'un nouvel initialiseur pour les tableaux qui n'ont pas besoin de préremplir les valeurs par défaut du tableau. C'est-à-dire qu'avec Swift 5.1, il est maintenant possible de créer un tableau d'une taille particulière sans avoir à initialiser chaque élément.
- Ordered Collection Diffing – Ce nouveau type représente la différence entre les collections, par lesquelles une ligne La fusion tridirectionnelle par ligne peut être exécutée pendant le codage.
- Lacunes de chaînes et API manquantes – API supplémentaires permettant de travailler avec des chaînes, telles que la création et la gestion de chaînes contiguës ainsi que des fonctionnalités manquantes pour les utilisateurs de String. 19659043] Identifiable Protocol – Pour l'identification de valeurs distinctes appartenant à une seule entité logique
Protocole LSP (Language Server Protocol)
Le protocole Language Server Protocol assure la réutilisation des services de langue. Cette fonctionnalité est rendue possible par tous les éditeurs compatibles LSP et réduit considérablement les efforts requis par l'équipe linguistique pour que le langage soit totalement pris en charge par différents éditeurs. Cette fonctionnalité améliore la convivialité de Swift, ce qui améliore l'adoption de la langue de l'écosystème Apple.
Mises à jour de SwiftSynatx
La mise à jour de SwiftSyntax, pour la bibliothèque libSyntax permet également aux outils Swift d'analyser, de générer et de générer en tant que transformer le code source Swift. Par exemple, l'ajout de la dépendance SwiftPM à une balise release ne nécessite pas la source Swift Compiler et peut être utilisé dans différents scénarios. Ces scénarios sont les suivants:
- Swift Pack – Utilisé comme outil pour l’intégration automatique de sources de bibliothèque Swift.
- Swift Rewriter – Utilisé comme formateur de code Swift
- Périphérique ] – Utilisé pour détecter le code inutilisé.
- Muter – Utilisé pour le test de mutation.
- Testeur de stress Swift – Utilisé comme pilote de test pour le test sourcekitd.
Migration To Swift 5.1 [19659004] En tant que source compatible avec Swift 5.0, Swift 5.1 prend également en charge les modes de compatibilité pour Swift 4.2 ainsi que pour Swift 4 / 4.1. Xcode 11 d'Apple consiste en un migrateur de code capable de gérer les modifications de source. Un guide de migration est également disponible et peut vous aider à faire face aux divers changements.
Plateformes
- Linux – Ubuntu 18.04, Ubuntu 16.04 et Ubuntu 14.04 disposent de leurs bibliothèques officielles disponibles au téléchargement [19659076].
- Apple (Xcode) – Swift 5.1 est fourni avec Xcode 11 pour permettre le développement sur les plates-formes Apple. Une chaîne d’outils est également disponible au téléchargement sur Swift.org.
Documentation
Le Swift Programming Language dispose d’une version mise à jour de Swift 5.1 sur Swift.org ainsi que du logiciel download [19659076] sur l'Apple Books Store.
Swift 5.1: plus de progrès!
Pour en savoir plus sur les récents progrès de Swift 5.1 et sur la contribution de l'équipe Swift à son développement massif, restez à l'écoute de nos derniers articles ou envoyez-nous un appel pour obtenir des instructions détaillées à ce sujet. 19659089]
Source link