Concurrence en Swift (iOS/macOS)
Concurrence en Swift (iOS/macOS)
Résumé :
Le livre « Concurrence en Swift (iOS/macOS) » est un guide exhaustif sur l'un des aspects les plus complexes mais essentiels du développement Apple. L'auteur, Alexeï Zakharov, développeur iOS senior avec 10 ans d'expérience, guide le lecteur des concepts de base aux schémas professionnels de programmation parallèle.
De quoi parle ce livre ?
Le livre couvre tous les outils modernes de concurrence en Swift :
- Swift Concurrency (async/await) : immersion complète dans le nouveau modèle d'asynchronisme, incluant la concurrence structurée, les Task Groups et les Continuations.
- Actors : protection de l'état partagé contre les data races grâce à l'isolation des données.
- Grand Central Dispatch (GCD) : travail avec les files d'attente, les tâches synchrones/asynchrones et les Dispatch Groups.
- OperationQueue : gestion des dépendances, des priorités et de l'annulation des opérations.
- Sécurité des threads : pratiques pour éviter les deadlocks, livelocks et race conditions.
- Tests : rédaction de tests fiables pour le code concurrent à l'aide de XCTestExpectation et des Actors.
À qui s'adresse ce livre ?
- Aux développeurs iOS/macOS qui souhaitent passer des approches obsolètes (callback, delegate) au moderne async/await.
- Aux spécialistes Junior et Middle cherchant à approfondir leur compréhension du multithreading.
- Aux chefs d'équipe et architectes concevant des applications à forte charge avec une UI fluide.
Que va apprendre le lecteur ?
Après avoir étudié ce livre, vous serez capable de :
- Écrire du code asynchrone sans callbacks ni retain cycles.
- Gérer efficacement les tâches en arrière-plan sans bloquer le thread principal.
- Concevoir des modèles de données thread-safe à l'aide des Actors.
- Optimiser les performances des applications en utilisant des opérations parallèles.
- Déboguer et profiler du code concurrent via Instruments.
Le livre contient des dizaines d'exemples concrets pour UIKit et SwiftUI, ainsi que des analyses d'erreurs typiques. Idéal aussi bien pour l'étude autonome que comme ouvrage de référence.
Important : le livre est orienté vers Swift 5.9+ et Xcode 15. Une connaissance de base du langage Swift est présupposée.