Конкурентность в Swift (iOS/macOS)
Параллельное и асинхронное программирование для Apple-разработчиков
Краткое содержимое:
Книга «Конкурентность в Swift (iOS/macOS)» — это исчерпывающее руководство по одному из самых сложных, но критически важных аспектов разработки под Apple. Автор, Алексей Захаров, senior iOS-разработчик с 10-летним стажем, последовательно проводит читателя от базовых концепций до профессиональных паттернов параллельного программирования.
О чём эта книга?
Книга охватывает все современные инструменты конкурентности в Swift:
- Swift Concurrency (async/await): полное погружение в новую модель асинхронности, включая структурированную конкурентность, Task Groups и Continuations.
- Actors: защита общего состояния от гонок данных (data races) с помощью изоляции данных.
- Grand Central Dispatch (GCD): работа с очередями, синхронными/асинхронными задачами и Dispatch Groups.
- OperationQueue: управление зависимостями, приоритетами и отменой операций.
- Безопасность потоков: практики избегания deadlock, livelock и race conditions.
- Тестирование: написание надёжных тестов для конкурентного кода с помощью XCTestExpectation и Actors.
Для кого эта книга?
- iOS/macOS разработчикам, которые хотят перейти с устаревших подходов (callback, delegate) на современный async/await.
- Junior и Middle-специалистам, стремящимся углубить понимание многопоточности.
- Тимлидам и архитекторам, проектирующим высоконагруженные приложения с плавным UI.
Что узнает читатель?
После изучения книги вы сможете:
- Писать асинхронный код без коллбэков и retain cycles.
- Эффективно управлять фоновыми задачами, не блокируя главный поток.
- Проектировать потокобезопасные модели данных с помощью Actors.
- Оптимизировать производительность приложений, используя параллельные операции.
- Отлаживать и профилировать конкурентный код через Instruments.
Книга содержит десятки реальных примеров для UIKit и SwiftUI, а также разборы типовых ошибок. Идеально подходит как для самостоятельного изучения, так и для настольного справочника.
Важно: книга ориентирована на Swift 5.9+ и Xcode 15. Предполагается базовое знакомство с языком Swift.
Рекомендаций
Функциональное программирование на Java: от лямбд до монад
Конкурентность в Rust: практическое руководство
Производительность Java приложений: Оптимизация, профилирование и лучшие практики
Beautiful C++: 30 практических правил для лучшего кода
Applied Kotlin. Прикладное программирование на Kotlin
Domain-Driven Design с TypeScript