Jetpack Navigation 3 버전 1.0이 안정화되었습니다 🎉. 지금 프로덕션 앱에서 사용해 보세요. JetBrains는 이미 KotlinConf 앱에서 사용하고 있습니다.
Navigation 3은 Jetpack Compose 상태를 수용하기 위해 처음부터 빌드된 새로운 탐색 라이브러리입니다. 백 스택을 완전히 제어하고, 탐색 상태를 유지하며, 목록-세부정보와 같은 적응형 레이아웃을 쉽게 만들 수 있습니다. JetBrains의 크로스 플랫폼 버전도 있습니다.
새 라이브러리가 필요한 이유는 무엇인가요?
원래 Jetpack 탐색 라이브러리 (현재 Nav2)는 7년 전에 설계되었으며 원래 목표를 잘 달성하고 반복적으로 개선되었지만 현재 앱이 빌드되는 방식은 근본적으로 달라졌습니다.
선언적 UI를 사용한 반응형 프로그래밍이 이제 표준이 되었습니다. Nav3는 이 접근 방식을 채택합니다. 예를 들어 NavDisplay (화면을 표시하는 Nav3 UI 구성요소)는 Compose 상태로 지원되는 키 목록 (각각 화면을 나타냄)을 관찰하고 목록이 변경되면 UI를 업데이트합니다.
또한 Nav2에는 자체 내부 상태가 있으므로 탐색 상태에 단일 정보 소스를 갖기가 어려울 수 있습니다. Nav3에서는 자체 상태를 제공하므로 완전히 제어할 수 있습니다.
마지막으로 유연성과 맞춤설정 기능이 더 필요하다는 의견도 있었습니다. Nav3는 단일 모놀리식 API가 아닌 더 작고 분리된 API('빌딩 블록')를 제공하며, 이러한 API를 결합하여 복잡한 기능을 만들 수 있습니다. Nav3 자체는 이러한 빌딩 블록을 사용하여 잘 정의된 탐색 사용 사례에 적합한 기본값을 제공합니다.
이 접근 방식을 사용하면 다음 작업을 할 수 있습니다.
- 전역 및 개별 수준에서 화면 애니메이션 맞춤설정
- 여러 창을 동시에 표시하고 Scenes API를 사용하여 유연한 레이아웃 만들기
- 맞춤 동작이 필요한 경우 Nav3 구성요소를 자체 구현으로 쉽게 대체
출시 블로그에서 디자인과 기능에 대해 자세히 알아보세요.
탐색 2에서 이전
이미 Nav2, 특히 Navigation Compose를 사용하고 있다면 Nav3으로 이전하는 것이 좋습니다. 이를 지원하기 위해 이전 가이드가 제공됩니다. 주요 단계는 다음과 같습니다.
- 탐색 3 종속 항목을 추가합니다.
- 탐색 경로를 업데이트하여 NavKey를 구현합니다. Nav3를 사용하기 위해 경로가 이 인터페이스를 구현할 필요는 없지만 구현하는 경우 Nav3의 rememberNavBackStack 함수를 활용하여 영구적인 뒤로 스택을 만들 수 있습니다.
- 탐색 상태를 보유하고 수정하는 클래스를 만듭니다. 여기에 뒤로 스택이 보유됩니다.
- NavController를 다음 클래스로 바꿉니다.
- NavHost의 NavGraph에서 entryProvider로 대상을 이동합니다.
- NavHost를 NavDisplay로 바꿉니다.
AI 에이전트 이전 실험
AI 에이전트를 사용하여 이전 가이드를 읽고 프로젝트에서 단계를 수행해 볼 수 있습니다. Android 스튜디오의 Gemini 에이전트 모드에서 이 기능을 사용해 보려면 다음 단계를 따르세요.
- 이 가이드의 마크다운 버전을 프로젝트에 저장합니다.
- 이 프롬프트를 에이전트에 붙여넣습니다 (Enter 키는 누르지 마세요). '이 프로젝트를 '를 사용하여 Navigation 3로 이전해 줘.'
- @migration-guide.md를 입력합니다. 그러면 가이드가 에이전트의 컨텍스트로 제공됩니다.
항상 그렇듯이 AI 에이전트가 변경한 내용을 신중하게 검토하세요. 실수가 있을 수 있습니다.
고객님 또는 상담사의 응대에 대한 의견을 보내주시면 감사하겠습니다. 여기에서 의견을 보내주세요.
일반적인 시나리오를 위한 맛있는 탐색 레시피
일반적이지만 미묘한 사용 사례의 경우 레시피 저장소가 있습니다. 이 예시에서는 특정 방식으로 Nav3 API를 결합하는 방법을 보여주므로 특정 요구사항에 맞게 레시피를 선택하거나 수정할 수 있습니다. 레시피가 인기가 있는 것으로 판명되면 미묘한 차이가 없는 부분을 핵심 Nav3 라이브러리 또는 부가기능 라이브러리로 '졸업'시키거나 추가하는 것을 고려합니다.
현재 다음과 같은 19가지 레시피가 있습니다.
- 여러 백 스택
- 모듈화 및 종속 항목 삽입
- ViewModel에 탐색 인수 전달 (Koin 사용 포함)
- 이벤트 및 공유 상태별로 화면에서 결과 반환
현재 딥 링크 레시피와 Koin 통합을 작업 중이며 다른 작업도 많이 계획되어 있습니다. JetBrains의 엔지니어가 Compose 멀티플랫폼 버전의 레시피도 게시했습니다.
레시피를 보고 싶은 일반적인 사용 사례가 있다면 레시피 요청을 제출하세요.
요약
Nav3를 시작하려면 문서와 레시피를 확인하세요. 또한 다음을 비롯한 다양한 기술 콘텐츠가 일주일 내내 제공됩니다.
- 모듈화, 애니메이션, 적응형 레이아웃을 다루는 API에 관한 심층 동영상입니다.
- Nav3를 구축한 엔지니어와 함께하는 실시간 무엇이든 물어보세요 (AMA)
Nav3 Spotlight Week는 2025년 12월 1일에 시작됩니다.
문제가 발견되면 언제든지 여기에서 신고해 주세요.
계속 읽기
-
제품 소식
2025년 Android 생태계는 휴대전화를 훨씬 넘어 성장했습니다. 오늘날 개발자는 폴더블, 태블릿, XR, Chromebook, 호환 자동차를 포함한 5억 대 이상의 활성 기기에 도달할 수 있습니다.
Fahd Imtiaz • 전문 길이: 2분
-
제품 소식
모든 개발자의 AI 워크플로와 요구사항은 고유하며, AI가 개발에 어떤 도움을 줄지 선택할 수 있는 것이 중요합니다. 1월에는 Android 스튜디오에서 AI 기능을 구동하는 데 로컬 또는 원격 AI 모델을 선택할 수 있는 기능이 도입되었습니다.
Matthew Warner • 전문 길이: 2분
-
제품 소식
이제 Android 스튜디오 Panda 3가 안정화되어 프로덕션에서 사용할 수 있습니다. 이번 출시를 통해 AI 기반 워크플로를 더욱 세부적으로 제어하고 맞춤설정할 수 있어 고품질 Android 앱을 그 어느 때보다 쉽게 빌드할 수 있습니다.
Matt Dyor • 3분 읽기
소식 받아 보기
Android 개발 관련 최신 정보를 이메일로 받아 보세요.