SwiftLee Weekly - Issue 254


This week's SwiftLee Weekly covers:

  • SwiftUI Navigation Patterns
  • Will AI replace app developers?
  • Building crash-free apps

Enjoy this week's SwiftLee Weekly!

THIS WEEK'S BLOG POST

SwiftUI Lists: Present rows of data explained with code examples

Many of the apps built using SwiftUI use lists in some way. You can add sections, selection, or use different list styles. This week's article shows an overview of possibilities, including one modifier you must apply to use a custom list background.

SPONSORED

Build Crash-Free iOS Apps

Deliver a seamless user experience by monitoring app start times, crash-free rates, and ANRs. Learn how to optimize performance to retain users and prevent churn by downloading this eBook.

CURATED FROM THE COMMUNITY

iPhone Apps 101 - SwiftUI App Development Course

This brand new course by Paul Solt teaches you how to build a SwiftUI app using REST APIs and seeks to let you even publish the app into the App Store.

For transparency, Paul shared the course with me and added me as an affiliate.
paulsolt.teachable.com

SwiftUI Navigation using the Router Pattern

SwiftUI Navigation remains a popular discussion topic. I loved the simplicity of both this article and the solution described by Tiago Henriques. While you’re at it, you might also want to read his Coordinator Pattern article.
tiagohenriques.vercel.app

Handle plurals in SwiftUI Text views with inflection

I really wish there was an easier way to find out about these SwiftUI functionalities. This inflection method makes it easy to deal with plural(s) in SwiftUI.
nilcoalescing.com

Using withObservationTracking to monitor changes in @Observable properties outside SwiftUI views

What if you want to observe an @Observable outside of a SwiftUI View? Pol Piella describes how you can do this.
polpiella.dev

Creating a debounced search context for performant SwiftUI searches

The first thing to consider when implementing a search view is dealing with rapid character input updates. Daniel Saidi describes how to do this in SwiftUI using a debounce strategy.
danielsaidi.com

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.

CODE SNIPPET OF THE WEEK

@discardableResult in Swift

You can find this post on Twitter/X, LinkedIn, or Bluesky.

twitter profile avatar
Antoine v.d. SwiftLee 
Twitter Logo
@twannl
12:54 PM • Jan 13, 2025
5
Retweets
23
Likes

QUESTION OF THE WEEK

Will AI replace app developers in the future?
Anonymous

One of the most trending AI topics: will it replace my job?

The same question can be asked of us as app developers. AI is moving fast, results improve quickly, and many engineers have started adopting tools like ChatGPT or Cursor AI.

While predicting the future is always hard, I think it's fair to say AI already plays an essential role in development today. While it's not able to take control over app development completely, it already helps developers build apps faster.

This article from The Pragmatic Engineer resonated a lot with me. In fact, I truly believe that experienced engineers who know how to optimize development using AI will have the most value in the future.

AI can get you to 70% of what you need, but without the skills to optimize the output, getting a high-quality app into the App Store will be hard. Let alone thinking about great UX!

If you’re still worried that AI might replace your job, try shifting your perspective to the opportunities it creates. During the gold rush, it wasn’t just the miners striking gold who found wealth—those who supported them by offering services like laundry or security also became incredibly successful.

So, what role can you play in the AI gold rush?

Want to have your question answered next week? Ask your question via this form (anonymously) or reply to this email with your question.

EARN ROCKETSIM LIFETIME

Share and Earn RocketSim Lifetime & a 1-on-1 coaching session

Shout-out to S. Magnus and Axel, who introduced 50+ subscribers to my newsletter. Thanks a lot, and enjoy the rewards!

Apple has recognized RocketSim as an Essential Developer Tool in the Mac App Store, and now you can get lifetime Pro access by sharing your unique referral link!

How to get started:

[RH_REFLINK GOES HERE]

Rewards:

  • Earn your first reward after just 3 sign-ups!
  • Check your progress anytime using your referral dashboard.
  • The grand prize? A personalized 1-on-1 career coaching session!

Several subscribers have already claimed their rewards—will you be next?

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: Xcode Build Performance Analysis Swift for Android WWDC APIs timeline But also: an early exclusive Black Friday discount for you as a SwiftLee Weekly subscriber. Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Build performance analysis for speeding up Xcode builds Build performance—is it still a thing to look at nowadays? Yes, Xcode build times improve every year at WWDC, but my experience is that builds still become slower over time. Especially...

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...

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...