- В Android есть библиотеки для работы с навигацией, но часто они представляют собой базовый инструмент без строгих правил по его применению. Это зачастую приводит к распространению логики навигации за пределы ее ответственности, сращиванию с presentation уровнем, росту связности с другими компонентами. Возникает хаос, которого стоит избегать.
- В проекте LANG (один из международных продуктов Skyeng для изучения иностранных языков) мы взяли за основу популярный подход и доработали его. Наша структура позволяет максимально отделить навигацию от presentation-слоя, гибко использовать и масштабировать ее в рамках разных модулей.
- Такой подход к навигации не зависит от роста количества уровней вложенности, что позволяет держать трудозатраты на разработку ближе к прямой зависимости времени разработки от масштаба требований бизнеса.
Что обсудим:
- Построение навигации в LANG: особенности и подходы к реализации.
- Cicerone VS навигация LANG: ключевые отличия.
- Технические сложности и как мы с ними работаем.
- В каких случаях пригодится наш подход к навигации, а когда можно обойтись и без нее.