Jetpack Navigation 3 is a new navigation library, completely redesigned for Jetpack Compose and announced at Google I/O 2025. Compared with the previous Navigation 2 (navigation-compose), its structure has been significantly revised so that it works more naturally with Compose’s state management. Key changes include a scene-based NavHost structure, direct access to the BackStack via a MutableList, and state retention that ties in more seamlessly with Compose mechanisms. These improvements make back-navigation and history control more flexible, but they also require a careful understanding of how Navigation 3 differs from existing codebases. With this in mind, we’re planning to migrate our company’s app “OneBank,” which currently uses navigation-compose, to Navigation 3, and we’ve begun research and preparations. This session introduces the work we’re doing from the following perspectives: - Understanding the new API architecture through the official Navigation 3 documentation and sample code - Taking stock of our app’s navigation graph and transition patterns - Mapping out how Navigation 3’s structure and responsibilities affect existing code - Implementing a small-scale migration on individual Compose screens and verifying basic behaviors such as screen transitions and back navigation - Organizing discussion points on Deep Link handling and state retention across multiple screens As apps designed around Navigation 3 become more common, we hope these insights will help projects currently on Navigation 2 migrate in a phased and manageable way. (Translated by the DroidKaigi Committee)
yokomii Android Engineer
- Developers building apps with Jetpack Compose who want to review and refine their navigation architecture - Teams using Navigation 2 (navigation-compose) who want to understand the differences with Navigation 3 and the key points for migration - Those who may adopt Navigation 3 in future projects and wish to grasp its core concepts and ways to migrate
Composifying Your Not-Compose Code
Kikoso
#Jetpack Compose
Challenges and Lessons from Flutter to Native – The Journey from a 1.6 to 4.0 Rating
Ryo Kitamura, kentaro fujii
#Development Process
Let’s Build an Editor for Vertical Text with Android 16 and Jetpack Compose
rokuroku
#Android Platform