Breaking the Rules: Dynamic Navigation in Modularized Apps
summary
Explains how nav components and Gradle modules introduce scoping and shows three concrete patterns: using implicit deep links (URI + nested graphs) to land on a specific fragment across modules, creating runtime NavDestination instances via NavigatorProvider to inject one-off screens, and sharing transient session data with the saved state handle on NavBackStackEntry. Compares interoperable and 100% Compose setups, traces inflation (NavInflater → NavDestination → Navigator) and demonstrates that graphs are mutable so navigation can be assembled dynamically at runtime.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 1:08Context on modularization
- 4:20Navigation components scoping
- 7:13Static vs dynamic navigation
- 10:00Case study deep links
- 16:41How deep links work
- 20:34Mutable navigation graphs
- 24:04Data sharing across back stacks
- 28:14Key takeaways and Q&A
related talks
33mBreaking the Rules: Dynamic Navigation in Modularized Apps
39mDynamic Navigation in Modularized Apps
06mType safe, multi-module best practices with Navigation Compose
49mNavigation Component, feedback from the trench
41mNav2, Nav3… Or Roll Your Own? — Building to Understand Nav3’s Design Intent
46mExploring Navigation Libraries for Compose
16mNavigation in Modular Applications with Deep Linking
38mAdventures in Navigation
