One of the best years for Swift is close to reaching its end. Time flies when you’re having fun, and I can tell you that we’ve had enough reason to enjoy developing with Swift this year. Big releases like Xcode Cloud and the new Swift Concurrency changes have set the direction of developing apps in the upcoming years.
When reading articles like these, you’ll realize how long the year has been, even though it feels like a short one looking back today. For example, I just realized I released RocketSim 4.0 in March this year, while it felt much longer ago since the release of RocketSim 6.0 just happened! Let’s dive into a few of the highlights of Swift in 2021.
New Swift releases
2021 brought us a few Swift releases, from which 5.5 has been the bigger one announced during WWDC. On September 20th, Swift 5.5 was officially released, including introducing the new concurrency framework. In my opinion, this could have been a 6.0 release since it has a significant impact on how we develop apps in Swift.
Swift 5.4 arrived this year and introduced multiple variadic parameters, Property Wrappers for local variables, and result builders. Yes, that’s right, result builders have been officially available only since this year’s April. Hard to believe if you ask me!
Xcode Cloud
In the shadow of the new concurrency changes, Xcode Cloud finally arrived. On January 2nd of 2018, Buddybuild announced to be acquired by Apple. While it’s still in beta and not yet available for everyone, it’s great to see the results of Apple’s investment finally.
I’ve been among the lucky ones to try out Xcode Cloud early on (and yes, I’m planning articles!), and I’m curious to see how it will evolve in the upcoming months when more of us get access. In a few clicks, you’ll be able to run your tests for every pull request that you open. Until I’ve written articles for you, I encourage you to check out this talk by Josh Holtz, giving you insights into the state of Xcode Cloud today.
Swift Concurrency
The new Concurrency framework is undoubtedly the most significant gift we got this year. For the past years, async/await has been one of my biggest wishes for WWDC since I’ve read the Swift Concurrency Manifesto by Chris Lattner.
The community received the release well, but a big downside has been the requirement to build for iOS 15 and up. Luckily, the Swift team took this seriously and released a backport in Xcode 13.2, allowing us to use async/await for iOS 13 and 14 as well.
The Concurrency framework allows us to write structured concurrency in Swift using features like async/await, async let, and actors. If you’re keen to learn more, you can check out the articles I wrote about the new Concurrency changes:
- MainActor usage in Swift explained to dispatch to the main thread
- How to Use URLSession with Async/Await for Network Requests in Swift
- Async await in Swift explained with code examples
- Swift 6: Incrementally migrate your Xcode projects and packages
- Concurrency-safe global variables to prevent data races
- Unit testing async/await Swift code
- Thread dispatching and Actors: understanding execution
- @preconcurrency: Incremental migration to concurrency checking
- Detached Tasks in Swift explained with code examples
- Task Groups in Swift explained with code examples
- Sendable and @Sendable closures explained with code examples
- AsyncSequence explained with Code Examples
- AsyncThrowingStream and AsyncStream explained with code examples
- Tasks in Swift explained with code examples
- Nonisolated and isolated keywords: Understanding Actor isolation
- Async let explained: call async functions in parallel
- Actors in Swift: how to use and prevent data races
SwiftLee in 2021
Working from home full-time allowed me to spend even more time on SwiftLee since I no longer had to drive back and forth towards Amsterdam. I used the time saved to write new articles, level up SwiftLee Weekly, and build new products like SwiftLee Jobs. You’ve been showing great interest in my work as well, resulting in a list of the most popular articles of 2021.
Most popular articles
2021 resulted in over 1.6 million pageviews and many different articles being popular. Articles covering SF Symbols and JSON Decoding have continued to be popular, but which articles released in 2021 have been the most popular?
1. async/await
It should not be a surprise to see this being the winner of 2021. As discussed before, async/await is the big release of WWDC 2021.
2. Dependency Injection
Introducing a new way of handling dependency injection in Swift following SwiftUI standards and using the latest Swift features turned out to be a popular article to read.
3. Getting started with UIKit in SwiftUI and vice versa
To be honest: I wrote this article on December 29th, 2020. However, with only two days left in that year, it’s more than fair to count it as one of the most popular articles in 2021. SwiftUI arrived in iOS 13 with many bugs holding us back from adopting it early on. My article covering techniques to combine UIKit with SwiftUI and vice versa becomes more popular now that we’re slowly dropping iOS 13 and building apps with a more stable SwiftUI version.
SwiftLee Jobs
July this year, I released the first version of SwiftLee Jobs, allowing you to find the next step in your career. It’s still early days, and more features are coming up in 2022, so stay tuned!
RocketSim 4, 5, and 6
One of the things I love to do in my spare time is to develop new features into RocketSim. Version 4.0 introduced the design comparison tool and recordings with touches, while version 5.0 allowed for trimming videos, better performance, and a SwiftUI rewrite under the hood. The SwiftUI rewrite allowed you to show multiple floating thumbnails at once, resulting in even greater productivity for you since you could stack multiple captures. With the release of RocketSim 6.0, you’re now able to create screenshots and recordings with device bezels, resulting in professional recordings.
All releases have motivated me to develop even more helpful features into RocketSim 7.0, which will arrive in Q2 of 2022. I decided to take a new direction in which RocketSim will no longer be available from the Mac App Store. Doing so allows me to develop more advanced features for which you’ll get early updates by following RocketSim on Twitter.
Conclusion
2021 has been a great year, with significant Swift releases changing how we develop apps. Xcode Cloud and the Concurrency framework significantly impact our day-to-day work and will improve the quality of apps we write tomorrow.
Thank you for supporting my work this year by reading the articles, sharing them on Twitter, and using RocketSim to increase your productivity. I can’t wait to see what 2022 will bring, and I’ll promise you even more updates, articles, and releases.
Happy New Year!