Connect with us

Новости

Библиотека Jetpack Navigation 3 стала стабильной

Navigation 3 — это новая навигационная библиотека, полностью разработанная для поддержки состояний Jetpack Compose.

Опубликовано

/

     
     

Jetpack Navigation 3 стал стабильным в версии 1.0. Используйте библиотеку в своих приложениях уже сегодня. Например, JetBrains уже использует её в своём приложении KotlinConf.

Navigation 3 — это новая навигационная библиотека, полностью разработанная для поддержки состояний Jetpack Compose. Она предоставляет полный контроль над стеком переходов, помогает сохранять состояние навигации и позволяет легко создавать адаптивные макеты (например, list-detail). У JetBrains даже есть кроссплатформенная версия.

Почему новая библиотека?

Оригинальная библиотека Jetpack Navigation (теперь Nav2) была разработана 7 лет назад, и, хотя она хорошо справляется со своими первоначальными задачами и постоянно совершенствуется, подход к разработке приложений кардинально изменился.

Реактивное программирование с декларативным пользовательским интерфейсом теперь стало нормой. Nav3 поддерживает этот подход. Например, NavDisplay (компонент пользовательского интерфейса Nav3, отображающий ваши экраны) просто отслеживает список ключей (каждый из которых представляет экран), поддерживаемый состоянием Compose, и обновляет свой пользовательский интерфейс при изменении этого списка.

Библиотека Jetpack Navigation 3 стала стабильной

Nav2 также может затруднить создание единого источника данных о состоянии навигации, поскольку у него есть собственное внутреннее состояние. С Nav3 вы предоставляете собственное состояние, что обеспечивает полный контроль.

Наконец, разработчики просили большей гибкости и настраиваемости. Вместо единого монолитного API Nav3 предоставляет более компактные, разрозненные API (или «строительные блоки»), которые можно объединять для создания сложной функциональности. Сам Nav3 использует эти строительные блоки для предоставления разумных значений по умолчанию для четко определенных сценариев использования навигации.

Этот подход позволяет:

Подробнее о дизайне и функциях читайте в статье.

Миграция с Navigation 2

Если вы уже используете Nav2, в частности Navigation Compose, вам следует рассмотреть возможность миграции на Nav3. Для этого существует руководство по миграции. Основные шаги:

Вы можете поэкспериментировать с использованием ИИ-агента для чтения руководства по миграции и выполнения шагов в вашем проекте. Чтобы попробовать это в Gemini в режиме агента Android Studio:

  • Сохраните эту версию руководства в формате Markdown в свой проект
  • Вставьте эту подсказку в агент (но не нажимайте Enter): «Migrate this project to Navigation 3 using»
  • Введите @migration-guide.md — это предоставит агенту контекст для руководства.

Как всегда, внимательно изучите изменения, внесённые ИИ-агентом, — он может ошибаться!

Рецепты навигации для распространённых сценариев

Для распространённых, но сложных случаев использования есть репозиторий рецептов. Здесь показано, как комбинировать API Nav3 определённым образом, позволяя вам выбирать или изменять подход в соответствии с вашими конкретными потребностями. Если рецепт окажется популярным, Google рассмотрит возможность «перевода» его не детализированных частей в базовую библиотеку Nav3 или дополнительные библиотеки.

Библиотека Jetpack Navigation 3 стала стабильной

В настоящее время существует 19 рецептов, в том числе для:

В настоящее время в компании работают над рецептом для глубоких ссылок, а также над интеграцией с Koin и планируют множество других. Инженер JetBrains также опубликовал версию рецептов для Compose Multiplatform.

Если у вас есть распространённый вариант использования, для которого вы хотели бы получить рецепт, пожалуйста, отправьте запрос.

Дополнительно

Неделя Nav3 Spotlight Week начнётся 1 декабря 2025 года.

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Telegram

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: