QUESTION OF THE WEEK
“
Is it the right time to migrate to Swift 6?
— Vien
This is such a timely question since there's a lot of movement in this area as we speak!
While preparing my talk for AppDevCon and Deep Dish Swift, I've been looking through current open proposals and one of the latest vision documents. I've realized I've always expected async/await and Swift Concurrency to be in a final state. In other words, I kind of assumed "this is it and we have to deal with what we have today".
The opposite is true and after reading the above vision document, I came to realize we've simply been using the best-first-version of Swift Concurrency. Decisions were made to increase performance in favor of usability and after developers started adopting, the Swift team came to realize improvements are needed.
What I like is that they're not simply make bold decisions, but they're carefully thinking through several types of end-users. Some developers need advanced concurrency while others are perfectly fine with a single-threaded application.
A question that comes to mind is whether it's the right time to migrate existing projects/packages to Swift 6. The proposals related to the vision document have a potential large impact on the work required for a migration, so you could say: yes, if possible, wait a little bit. However, depending on your project's size, a migration to Swift 6 today is already doable.
Whether or not you decide to migrate today, I highly encourage you to invest in your knowledge and try to prevent extra tech debt. I believe in so-called migration habits and will share them all during my talk. If you're unable to attend either AppDevCon or Deep Dish and still interested to learn more, you can get my course and learn all about them in detail.