The Evolution of SwiftUI: An Insider's view
# Talk summary
The evolution of SwiftUI is driven by the goal of making the framework feature complete while keeping pace with the broader Apple ecosystem. Since its limited 2019 debut, SwiftUI has expanded to support new platforms like visionOS and integrate deeply with Swift language features such as Swift Concurrency. Developer feedback provided through Feedback Assistant remains a critical motivator for these changes.
The internal process for creating new APIs mirrors Swift evolution. An engineer must draft a proposal covering motivation, proposed solution, and alternative designs. Once the team approves the proposal after a period of review and discussion, implementation begins.
Several case studies illustrate the SwiftUI evolution in practice.
# Navigation
The original NavigationView lacked a single source of truth for its navigation state, leading to unreliable state restoration in lazy views like List. The iOS 16 redesign introduced NavigationStack and NavigationSplitView, which allow the source of truth and navigation destinations to be declared at the root for more reliable programmatic navigation.
Further reading:
# Observation
Early versions relied on the ObservableObject protocol from Combine, which often caused unnecessary view re-evaluations. With the introduction of the Observation framework, we can use the @Observable macro that allows SwiftUI to track only the specific properties a view reads, significantly improving performance.
Further reading:
# Rich Text
Improvements to rich text display in SwiftUI were enabled by the introduction of AttributedString in Foundation. This allowed SwiftUI to extend its Text APIs to display an AttributedString directly and to support Markdown parsing automatically.
Further reading:
Staying current is essential for app health. Deprecated APIs are often considered potentially harmful and may introduce bugs or performance issues. Developers should monitor beta cycles, review release notes, and create incremental roadmaps to adopt new APIs. Embracing these changes ensures the codebase remains efficient and ready for future platform developments.
# Social media
If you want to stay in touch, you can find me on social media.
- LinkedIn: Natalia Panferova
- Mastodon: @natpanferova@mastodon.social
- Bluesky: @natpanferova.bsky.social
# Swift and SwiftUI book discounts
You can use the coupon code trySwift26 to get 20% off my Swift and SwiftUI books and book bundles until the end of April.
If you are looking to build a strong foundation in SwiftUI, my book SwiftUI Fundamentals takes a deep dive into the framework's core principles and APIs to help you understand how it works under the hood and how to use it effectively in your projects. And my new book The SwiftUI Way helps you adopt recommended patterns, avoid common pitfalls, and use SwiftUI's native tools appropriately to work with the framework rather than against it.
For more resources on Swift and SwiftUI, check out my other books and book bundles.



