Swift Concurrency & Swift 6 Course (Launch offer)
After starting in March, I'm happy to announce the first completion of all 11 modules in my Swift Concurrency Course! You now have access to:
Read the articleJoin 31,000+ Swift & iOS developers — free, every Tuesday, in 5 minutes.
Almost there — check your inbox to confirm your subscription.
No spam. One email every Tuesday. Unsubscribe in one click.
After starting in March, I'm happy to announce the first completion of all 11 modules in my Swift Concurrency Course! You now have access to:
Read the articleHuge apps like PhotoRoom, Mojo & Citizen use Superwall to build paywalls, run price tests and more — all without shipping app updates. Learn how.
Learn moreVibe coding is hot, but how does it work in Xcode 26? Vincent Pradeilles decided to give it a try and shares his thoughts.
How do you convert a regular button into a LiquidGlass button? You might have seen the APIs for it by now, but do you also know how to make a circle button?
AlarmKit is one of the new frameworks announced at WWDC 2025. Natalia Panferova shares how it works and how you can implement it in your apps.
Many apps (if not all) require a redesign for the new OS versions. David Smith takes you through redesigning one of the core screens of his app.
If you’ve built custom UI components, you might have started to worry after seeing Liquid Glass popping up everywhere. However, Donny Wals shows that there’s hope after applying Liquid Glass to one of his custom UI elements.
Last week's Swift proposal state changes. Review-stage proposals are your chance to influence Swift's future.
After completing the first major version of my concurrency course, I started to fully focus on the future of RocketSim. We are planning to make RocketSim's features more accessible by command line tools, AI tools, shortcuts, and more.
Up until now, it was only RocketSim's User Interface that interacted with RocketSim actions. The project is currently not set up for more flexibility.
On top of that, we're actively migrating to Swift 6 and strict concurrency. Altogether, it's been time to take a step back and redesign the current structure of packages.
Over time, it's easy to add more and more responsibilities to existing packages. We have a so-called RocketSimCore package, which is an easy destination for anything. In my experience, packages with more responsibilities are less performant and have a lower test coverage.
I can explain the latter differently—by moving code into specific packages, we create new isolation and an opportunity for better test coverage and performance improvements.
One example for RocketSim is the logic for monitoring new Simulator builds. This is all contained with RocketSimCore right now, but it makes more sense to create a RocketSimRecentBuildMonitoring package. Within that isolation, I've already applied several performance improvements after writing a bunch of tests.
Extra benefit?
The new package allows for rewriting to Swift Testing and creates a focused environment for the Swift Concurrency migration.
Join 31,000+ Swift & iOS developers and get the next one in your inbox — free, every Tuesday, in 5 minutes.
Almost there — check your inbox to confirm your subscription.
No spam. One email every Tuesday. Unsubscribe in one click.