Ответ
Плюсы:
✅ Четкая структура навигации
✅ Встроенная проверка аргументов (safe args)
✅ Автоматическая обработка deep links
✅ Визуализация навигации через Navigation Editor
Минусы:
⚠️ Сложность при динамических путях (например, когда экраны зависят от API)
⚠️ Ограниченная гибкость для нестандартных переходов
⚠️ Нагрузка на память при больших графах
Пример:
// navigation.xml
<navigation>
<fragment android:id="@+id/fragmentA" ...>
<action android:id="@+id/toFragmentB" app:destination="@id/fragmentB"/>
</fragment>
</navigation>
// Код перехода
findNavController().navigate(R.id.toFragmentB)