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: Black Friday discounts Using @Observable with UIKit A SwiftData change you might not have noticed Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST Black Friday: SwiftLee Courses & RocketSim It's that time of year where many products provide Black Friday discounts! Call it cyber week, cyber-something, but I've joined the trend and share the discounts for RocketSim and my courses. SPONSORED iOS auth eating your time? Clerk’s SwiftUI SDK drops sign-in,...

This week's SwiftLee Weekly covers: Approachable Concurrency Xcode Instruments & suspension points Two defeated conference challenges Enjoy this week's SwiftLee Weekly! Next week, I'm dropping my Black Friday sales. Click here if you want to receive the deals this monday in your inbox. THIS WEEK'S BLOG POST Approachable Concurrency in Swift 6.2: A Clear Guide After giving my talk at Do iOS and Pragma Conf, it's time to give you the same learnings in both an article and video. Approachable...

This week's SwiftLee Weekly covers: From App Idea to 10K MRR From Swift to Mojo One Swift mistake... Enjoy this week's SwiftLee Weekly! THIS WEEK'S BLOG POST MainActorMessage & AsyncMessage: Concurrency-safe notifications A few warnings were hard to get rid off when migrating to strict concurrency. One of those were notifications, which are tightly connected to GCD dispatch queues. With the new API discussed in this article, you'll be able to post and observe notifications on specific...