Jetpack Navigation 3 は、Google I/O 2025 にて発表された、Jetpack Compose 専用に再設計された新しいナビゲーションライブラリです。従来の Navigation 2(navigation-compose)と比べて構造が大きく見直されており、Compose の状態管理とより自然に連携できる設計が特徴です。 代表的な変更点としては、NavHost の構成が Scene ベースに変わったこと、BackStack を MutableList で直接扱えるようになったこと、状態保持が Compose の仕組みとより自然に連携できるようになったことなどが挙げられます。これにより、戻る操作や履歴の制御が柔軟になる一方で、既存のコード構成との違いを丁寧に把握する必要があります。 こうした背景を受けて、現在 navigation-compose を用いて運用している弊社のアプリ「ワンバンク」でも、Navigation 3 への移行を予定しており、そのための調査や準備を進めています。 本セッションでは、以下のような観点で進めている対応内容を紹介します: - Navigation 3 の公式ドキュメントおよびサンプルコードをもとにした新 API の構造理解 - 弊社アプリにおけるナビゲーショングラフや遷移パターンの棚卸し - Navigation 3 の構造や責務の違いが既存コードに与える影響の整理 - 小規模な Compose 画面での移行実装と、画面遷移・戻る操作などの基本的な挙動の検証 - Deep Link の扱いや、複数画面の状態保持に関する検討ポイントの整理 Navigation 3 を前提に設計されたアプリが今後増えていく中で、Navigation 2 を運用している既存プロジェクトが、どう段階的に移行していくかを考える際の参考になればと思います。
yokomii Android Engineer
- Jetpack Compose を使ったアプリ開発を行っており、ナビゲーションの構成や設計を見直したいと考えている方 - Navigation 2(navigation-compose)を利用していて、Navigation 3 との違いや移行のポイントを把握しておきたい方 - 今後のプロジェクトで Navigation 3 を活用する可能性があり、基本的な考え方や導入の流れを知っておきたい方