SwiftLee Weekly
SwiftLee Weekly #279

Vibe coding in Xcode 26 · Extensible enums in Swift · Designing UI with Liquid Glass

Join 31,000+ Swift & iOS developers — free, every Tuesday, in 5 minutes.

No spam. One email every Tuesday. Unsubscribe in one click.

This week's blog post

Sponsored

Curated from the community

Swift Evolution

Last week's Swift proposal state changes. Review-stage proposals are your chance to influence Swift's future.

What I'm working on

Performance improvements and package restructuring

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.

Enjoying this issue?

Join 31,000+ Swift & iOS developers and get the next one in your inbox — free, every Tuesday, in 5 minutes.

No spam. One email every Tuesday. Unsubscribe in one click.