SwiftUI Navigation: Simple, Native, Declarative
summary
A SwiftUI team chose to minimize UIKit when starting a SwiftUI 2.0 project (late 2021) and used Apple's NavigationView with a thin wrapper modeled like modal presentation. They explain evolving navigation from a simple TabBarView+NavigationView (iOS 14) to handling complex inter-screen graphs that exposed SwiftUI bugs, and share the team’s practical techniques and backports to keep a native, declarative navigation approach without reverting to UIKit or adopting heavier third-party frameworks.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:03About the team
- 3:59SwiftUI navigation types
- 7:12Standard navigation issues
- 9:44Navigation Stack in iOS 16
- 12:37Alternative navigation libraries
- 14:37Custom navigation solution
- 17:51Declarative vs imperative
- 22:15Navigation code example
- 25:08Navigation Coordinator benefits
- 26:12Navigation Storch implementation
- 30:29Navigation Link bugs
- 33:20Library achievements summary
- 35:31Unified transitions via URL
- 38:42URL Links implementation
- 41:37Open source and future plans
related talks
41mSwiftUI Tutorial 2024: Master Navigation - NavigationStack, NavigationPath & NavigationDestination
49mWhy SwiftUI?
23mSwiftUI Lessons
35mSwiftUI Performance for Demanding Apps
42mThe Evolution of Presentation Patterns in SwiftUI
33mThe Hitchhiker’s Guide to SwiftUI
30mEvolving Existing Projects With SwiftUI
21mApp architecture after introducing SwiftUI
