title: "Dev Conversations #4: Matt Massicotte - Swift 6 strict concurrency"
sources: https://www.youtube.com/watch?v=oMg2OjO3LLI
media_link: https://www.youtube.com/watch?v=oMg2OjO3LLI
Authors:
- "[[Swift Toolkit]]"
contentPublished: 2024-11-27
noteCreated: 2024-12-19
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 m
tags:
- clippings
- video
takeaways:
subjects:
Status: ā
Read
publish: true
Youtube_Duration: 29:09
people:
- "[[Matt Massicotte]]"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.
You can find the full post at https://swifttoolkit.dev/posts/dc-matt-massicotte
@preconcurrency is poorly understood by the community@preconcurrency. @preconcurrency as introducing truth into your codebase
@MainActor so that the user knows the reality that this is main actor isolated,
@preconcurrency so that the user doesn't HAVE to migrate their codebase yet. @preconcurrency import@preconcurrency