Is structured concurrency worth the effort?
summary
Enables strict Swift concurrency, modularizes a decade‑old app into packages, and converts closures to async/await, uncovering 5,000 warnings that drop to zero over a year. Fixes include marking view models @MainActor, adding Sendable conformance, avoiding actors for value models, and building a translations package. Progress hits bottlenecks — 90% fixed in two months then five months for the rest — and post‑release yields zero crash reports of that class across 14 apps.
AI-written summary · about
chapters (8)
- 0:00Starting the journey
- 2:19Initial warnings and approach
- 4:30Resolving easy warnings
- 7:27Modularization strategy
- 10:37Lessons for concurrency
- 13:21Troubleshooting complex bugs
- 21:09Compiler and tooling limits
- 23:22Outcomes and reflection
related talks
23mSwift Concurrency is new and hard, and you can do it
45mHow We Adapted the Project to Strict Concurrency Checking — Swift 6
31mIsolation, actors, sendable… a concurrency deep dive
20mHow To Approach Approachable Concurrency
29mLeveraging structured concurrency in your applications
36mTesting Asynchronous Code in Swift 5.5
29mComparative Asynchronous Programming
54mStructured Concurrency: Hierarchical Cancellation & Error Handling
