WWDC 2024 : Quoi de neuf dans le monde de Swift et des plateformes Apple
En juin 2024 s'est tenue la conférence annuelle mondiale des développeurs Apple (WWDC). Malgré l'abondance de nouveautés matérielles, l'attention principale a traditionnellement été portée sur les plateformes logicielles et les outils pour développeurs. Pour la communauté Swift, ainsi que pour tous ceux qui développent pour iOS et macOS, la conférence a apporté une série d'annonces significatives. Nous avons rassemblé les principaux changements à prendre en compte dès maintenant.
Swift 6 : Stabilité et performance
La principale nouvelle pour les développeurs a été la sortie de Swift 6 — une nouvelle version majeure du langage. Les améliorations clés ont concerné le système de concurrence (concurrency).
- Vérification stricte de la concurrence (Strict Concurrency Checking) : Le compilateur active désormais par défaut des vérifications plus strictes, empêchant les conditions de course (data races). Cela rend le code plus sûr.
- Meilleure prise en charge des types non copiables (non-copyable) : Swift 6 étend les capacités de travail avec des ressources uniques (descripteurs de fichiers, tampons), permettant au compilateur de gérer plus précisément la durée de vie des objets.
- Nouvelles collections (Interop C++) : La compatibilité avec la bibliothèque standard C++ a été améliorée, ce qui simplifie l'intégration de code legacy.
La mise à jour a également concerné la bibliothèque standard — de nouveaux algorithmes pour travailler avec les séquences sont apparus, et les performances des opérations mémoire ont été améliorées.
SwiftUI 6 : Nouvelles possibilités d'interfaces
Le framework de construction d'interfaces a reçu une mise à jour majeure. SwiftUI 6 devient un outil de plus en plus mature, capable de remplacer UIKit dans la plupart des projets.
- Mises en page adaptatives (Adaptive Layout) : De nouveaux modificateurs ont été introduits pour ajuster automatiquement l'interface à la taille de l'écran, à l'orientation et au Dynamic Type sans écrire de code supplémentaire.
- Nouvelle API pour les animations : Les Keyframe Animations et une meilleure prise en charge des transitions (transitions) sont apparues. Il est désormais possible de créer des animations complexes avec une timeline directement dans un style déclaratif.
- Swift Charts 2.0 : La bibliothèque de création de graphiques a reçu le support d'éléments interactifs : les utilisateurs peuvent sélectionner des points de données, zoomer et visualiser des infobulles.
Xcode 16 : Outils de productivité
L'environnement de développement intégré Xcode n'a pas non plus été oublié. Les principales innovations ont concerné la vitesse de travail et le débogage.
- Aperçu rapide (Live Previews) : Les aperçus SwiftUI se mettent désormais à jour presque instantanément grâce à la compilation incrémentielle.
- Auto-complétion intelligente : Un nouveau modèle d'apprentissage automatique (basé sur l'apprentissage machine sur l'appareil, on-device ML) propose des suggestions plus précises et contextuelles lors de l'écriture de code.
- Débogueur amélioré : La prise en charge de la visualisation de l'état des coroutines (async/await) et la visualisation du graphe des dépendances en temps réel ont été ajoutées.
Nouveaux frameworks pour iOS 18 et macOS 15
En plus de la mise à jour du langage, Apple a présenté plusieurs frameworks qui étendent les capacités des applications :
- App Intents : Les développeurs peuvent désormais intégrer plus profondément leurs applications avec Siri et les Raccourcis (Shortcuts), en ajoutant des actions complexes en plusieurs étapes.
- TipKit : Un framework prêt à l'emploi pour créer des infobulles et des tutoriels d'intégration (onboarding)