Properly handled navigation is critical for modularized apps, which often implement navigation logic at runtime. This presents certain challenges when working with the Navigation Components library:
* How do we determine NavDestinations that are in other libraries, without access to their NavGraphs?
* How do we change the way backstack fragments behave based on past NavDestinations?
* How do we safely maintain state for each Fragment in the backstack?
And not least - how can we solve all of these issues when working with Compose?
Add in multiple modules and multiple libraries, and writing clean navigation logic can get really messy. I’ve dealt with all of these complexities when working on heavily modularized applications. I’ll walk the audience through the lessons I learned, and how to push the Navigation library capabilities to the fullest extent.