#4: Matt Massicotte
Description
The adoption of strict concurrency in Swift is not an easy process in some projects. Implicit assumptions we usually make are often challenged by the compiler, and we don’t know how to solve them in many cases - leading to frustration among us, developers. The amount of keywords also doesn’t help: tasks, sendability, isolation domains and boundaries, actors, preconcurrency, and the list goes on.
If you’ve been active on Mastodon, in the iOS development world, there’s a person that is frequently mentioned in questions or errors about Swift’s strict concurrency: Matt Massicotte. While working on his open-source projects, he recognized the opportunity to migrate them and deepen his understanding of structured concurrency.
In this 4th episode of Dev Conversations, he joins us to talk about his experience with Apple platforms even before the introduction of OS X; a bit about his work on improving the iPhone’s battery life in the late 2000s, and also the early days at Crashlytics.
But the main focus of the conversation is Swift 6’s strict concurrency. We discuss the factors one should consider before adopting it, the feelings we face when encountering enigmatic errors, and also suggest practical solutions and strategies to upgrade to strict checking with peace of mind.
Social
Open Source Projects
Content on Concurrency
- Swift.org: Migrating to Swift 6
- Talk @ Swift TO: The Bleeding Edge of Swift Concurrency
- Should You Enable Swift’s Complete Concurrency Checking?
- Problematic Swift Concurrency Patterns
- Making Mistakes with Swift Concurrency
- Crossing the Boundary
Additional Links
- Swift 6 + Concurrency = Peace: Talk by Muralidharan Kathiresan at SwiftConnection 2024