Professional Swift (iOS/macOS): Advanced Techniques
Professional Swift (iOS/macOS): Advanced Techniques
Summary:
This book is not another introduction to Swift. It is intended for developers who already write confidently in Swift and want to reach the next level: creating high-performance, scalable, and maintainable applications for the Apple ecosystem.
The author, Alexey Voronov, is a practicing iOS/macOS developer with 10 years of experience, sharing real-world cases, architectural solutions, and pitfalls that everyone working on complex projects encounters.
What you will learn from the book:
- Advanced design patterns (Coordinator, FlowController, Redux, MVVM-C) and their implementation in Swift.
- Multithreading and asynchrony: deep dive into GCD, OperationQueue, async/await, actors, and Sendable.
- Metaprogramming: reflection, code generation, using Property Wrappers, Result Builders, and macros (Swift Macros).
- Performance optimization: profiling with Instruments, memory management (ARC, weak/unowned, capture lists), UI and data handling optimization.
- Modular application architecture: SPM, modularity, DI containers, feature flags, and A/B testing.
- Testing: unit tests, UI tests, snapshot tests, testing asynchronous code, and mock objects.
- Working with system frameworks: Combine, SwiftUI (advanced techniques), Core Data (optimization), Networking (caching algorithms, retry, exponential backoff).
- Continuous Integration and Continuous Delivery: setting up CI/CD for iOS/macOS, automating builds, testing, and deployment.
Who this book is for:
- iOS/macOS developers with 2+ years of experience who want to deepen their knowledge.
- Team leads and architects looking for proven approaches to building complex applications.
- Developers transitioning from Objective-C to Swift and wanting to master modern practices.
- Anyone who wants to write code that is easy to maintain, test, and scale.
The book contains numerous code examples ready for use in real projects, as well as practical exercises to reinforce the material. After reading it, you will be able to confidently design application architecture of any complexity level, optimize performance, and implement modern development practices.
The edition is suitable both for self-study and for use as a reference in daily work.