SwiftLee Weekly - Issue 294


This week's SwiftLee Weekly covers:

  • Glass Views & Animations
  • Singletons & Swift Concurrency
  • Structured experiments

Enjoy this week's SwiftLee Weekly!

THIS WEEK'S BLOG POST

SwiftUI Architecture: Structure Views for Reusability and Clarity

I often find myself restructuring views after time happened and ContentView became too large. The techniques I've learned over the years are explained in this week's blog post.

For those that are more visually oriented, I've also published a video for this article:

video preview

SPONSORED

The best mobile app monitoring product just keeps getting better

Sentry automatically captures crashes recorded on macOS, iOS, and tvOS to make sure you're shipping the best experience to your users. Oh... and also Emerge Tools is now a part of Sentry, so things are getting even better. Use coupon code SWIFTLEE2025 for Sentry’s Business Plan and get started now with 2 free months.

CURATED FROM THE COMMUNITY

Don't make this mistake with a TaskGroup

Collecting the results of multiple async operations works great with a TaskGroup until you discover what Vincent Pradeilles describes in this article.
swiftwithvincent.com

Transforming Glass Views with the glassEffectID in SwiftUI

Combine SwiftUI’s Glass Effect with animations, and your app will feel much more at home on iOS 26. Gabriel Theodoropoulos shares both code examples and video demonstrations.
serialcoder.dev

Replacing Combine's subjects with AsyncStream in Swift

Do or did you use Swift’s Combine? Do you want to use Swift Concurrency? Natascha Fadeeva will help you migrate those handy Combine subjects.
tanaschita.com

Singletons with Swift Concurrency

Matt and I discussed how mentioning Singleton in one word with concurrency leads to an absolute trending topic. It also leads to a must read article!
massicotte.org

Just Talk To It - the no-bs Way of Agentic Engineering

In last week’s SwiftLee Weekly I mentioned how AI agents are changing my way of development. It changed Peter Steinberger’s workflow even more and he’s sharing his detailed experience, approach, and tech-stack.
steipete.me

SWIFTLEE GIVEAWAY

Win a ticket for Do iOS Conference in Amsterdam

Next month, Do iOS in Amsterdam will take place. I'll be personally giving a talk on concurrency and there are many other great talks that you don't want to miss.

Best of all?

You can win a free ticket!

SWIFT EVOLUTION

An overview of last week's Swift Proposal state changes. Check them out when they're in review, as it's your opportunity to influence the direction of Swift's future.

WHAT I'M WORKING ON

Structured experiments

Sometimes, I wish I had a full-time job again with limited time for side projects.

That sounds odd, isn't it?

The thing is: it forced me to prioritize, plan, and structure my work.

Ever since I went full indie in 2024, I lost a bit of that skill. I still know how to do it, but there's simply enough time to do everything.

Obviously, it doesn't work like that. I'm still growing and I'm still reaching new achievements, but I could've reached so much more if I continued the structure that I had in place.

Since the beginning of this month, I've got myself a growth accelerator coach. While I'm still doing all the work myself, having someone that checks in on my progress forces me to think about goals and priorities.

That change resulted in me going back to structured experiments. I've never stopped running experiments — performing a change and evaluating results — but I didn't actively structure and review them.

Here are a few typical experiments:

  • Changing copy on your app's landing page
  • Changing App Store screenshots
  • Changing the price of your app's subscription

You can all do these and call it a day, but it's much better to structure these properly.

I'm used to using Notion for this, we did this all the time at WeTransfer. It allows to combine 'Google Sheets' with visuals and content. I'm making sure to have a preview of both the control and variant, so it's easier to revert.

The biggest achievement with this new structure:

  • I'm scheduling a dedicated moment to review the results
  • I'm no longer looking at the data every single evening
  • I'm making sure there's no negative impact due to the changes

And yes, that describes the old situation after me going indie.

Structure, experiment, reflect, and improve!

UNTIL NEXT TIME

Continue your Swift development journey

I hope you've enjoyed this week's content. You don't have to wait till next Tuesday for more insights, I share every day on these channels:

Or earn lifetime access to RocketSim & my Swift Concurrency Course by becoming an affiliate of my newsletter.

Thank you so much for your support, and until next Tuesday,

Antoine

SwiftLee Weekly by Antoine van der Lee

Swift Evolution updates, 5 top community articles covering Swift development topics.

Read more from SwiftLee Weekly by Antoine van der Lee

This week's SwiftLee Weekly covers: My AI Agents journey The importance of Swift Migration Tooling Custom ViewModifiers are useless Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Why Swift Migration Tooling Matters Manually migrating to Swift's upcoming features is a bad idea. In fact, it can suddenly result in your code running more on the main thread, blocking the UI, and decreasing user experience. I'm using this typical example in a detailed post on how you can benefit from...

This week's SwiftLee Weekly covers: Programmatic navigation in SwiftUI The 5 biggest async/await mistakes The best mobile app monitoring product Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST The 5 biggest mistakes iOS Developers make with async/await After migrating 20+ packages for RocketSim and developing a 65+ lesson course on Concurrency, I concluded that a few mistakes are most common. This led me to decide to spend over 50 hours offering a free 5-day email course to help you...

This week's SwiftLee Weekly covers: Next-level Xcode Simulator recordings Additional iOS 26 documentation for Agents.md Swift Package Manager traits Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Derived Data: 5 Things iOS Developers Do Wrong It's one of the most important directories when it comes down to development with Xcode: The Derived Data folder. Some of you might know all about it, some will hear about it for the first time in this newsletter. I've explored it quite a bit...