Painless, Typesafe Jetpack Compose Navigation with Voyager
summary
Migrates a 200-screen app to Jetpack Compose incrementally and replaces Google Navigation with Voyager, claiming no global NavGraph at startup and type-safe data-class screens instead of string routes. Implements a snapshot-state stack navigator, built-in animated transitions, nested navigators, screen-scoped screen models (like viewmodels), and type-safe screen results persisted across state restoration. Demo shows simple setup, custom per-screen transitions and decorations, and reports this approach runs in production and keeps scroll and restore behavior intact.
AI-written summary · about
chapters (10)
- 0:00Introduction and background
- 2:23Moving to Jetpack Compose
- 4:10Navigation challenges with Compose
- 7:09Introducing Voyager library
- 13:56Live coding with Voyager
- 20:13Listening to stack changes
- 24:08Custom screen transitions
- 27:42Custom screen decorations
- 30:30Type-safe screen results
- 35:05Closing and Q&A
related talks
31mModel-driven navigation with Jetpack Compose – From zero to hero
19mUsing Jetpack libraries in Compose
49mNavigating with Jetpack Compose
36mNavigating the future with Jetpack Navigation 3
02mJetpack Compose Navigation: Beyond The Basics
38mNavigating the future with Jetpack Navigation 3
33mMigrating to Jetpack Compose - an interop love story
42mComposing your navigation: charting your route in the Jetpack ecosystem
