Concurrencia en Swift (iOS/macOS)
Concurrencia en Swift (iOS/macOS)
Resumen:
El libro «Concurrencia en Swift (iOS/macOS)» es una guía exhaustiva sobre uno de los aspectos más complejos pero críticos del desarrollo para Apple. El autor, Alexéi Zajárov, desarrollador senior de iOS con 10 años de experiencia, guía al lector de manera progresiva desde los conceptos básicos hasta los patrones profesionales de programación paralela.
¿De qué trata este libro?
El libro cubre todas las herramientas modernas de concurrencia en Swift:
- Swift Concurrency (async/await): inmersión completa en el nuevo modelo de asincronía, incluyendo concurrencia estructurada, Task Groups y Continuations.
- Actors: protección del estado compartido contra condiciones de carrera (data races) mediante el aislamiento de datos.
- Grand Central Dispatch (GCD): trabajo con colas, tareas síncronas/asíncronas y Dispatch Groups.
- OperationQueue: gestión de dependencias, prioridades y cancelación de operaciones.
- Seguridad en hilos: prácticas para evitar deadlock, livelock y race conditions.
- Pruebas: escritura de pruebas robustas para código concurrente usando XCTestExpectation y Actors.
¿Para quién es este libro?
- Desarrolladores iOS/macOS que deseen migrar de enfoques obsoletos (callback, delegate) al moderno async/await.
- Especialistas Junior y Middle que busquen profundizar su comprensión de la multitarea.
- Líderes de equipo y arquitectos que diseñen aplicaciones de alta carga con una interfaz de usuario fluida.
¿Qué aprenderá el lector?
Después de estudiar el libro, podrá:
- Escribir código asíncrono sin callbacks ni retain cycles.
- Gestionar eficazmente tareas en segundo plano sin bloquear el hilo principal.
- Diseñar modelos de datos seguros para hilos usando Actors.
- Optimizar el rendimiento de las aplicaciones mediante operaciones paralelas.
- Depurar y perfilar código concurrente con Instruments.
El libro contiene decenas de ejemplos reales para UIKit y SwiftUI, así como análisis de errores típicos. Es ideal tanto para el estudio autodidacta como para su uso como libro de consulta de escritorio.
Importante: el libro está orientado a Swift 5.9+ y Xcode 15. Se presupone un conocimiento básico del lenguaje Swift.