пока я занимаюсь переездом на mavenCentral предлагаю вашему вниманию мой новый эксперимент:
навигация на принципах UDF, где есть состояние, экшены и рендер
https://github.com/terrakok/Modoуже представлен весь функционал Чичероне (кроме передачи результата). Запустите семпл приложение и убедитесь!
наверное, самое интересное можно увидеть на стороне семпл приложения, то есть то как это использовать:
https://github.com/terrakok/Modo/blob/master/androidApp/src/main/java/com/github/terrakok/modo/androidApp/SampleFragment.ktиз-за особенностей нового подхода можно отметить
1) теперь всегда доступен текущий стек экранов, то есть в любой момент его можно проверить и обработать
2) расширять функциональность можно через композицию редюсеров (как это сделано с открытием внешних активити или логгированием)
3) при инициализации явно указывается стартовый экран
4) если не сохранять стейт в бандл, то после смерти будет показан первый экран (что иногда полезно в банковских приложениях и прочем)
5) даже несколько юнит тестов есть
6) зацените как изящно получилось теперь выводить текущий стек в туллбаре
7) есть множество идей, которые легко реализовать именно в таком подходе, но сейчас интересно послушать ваши мысли
ЗЫ: мультиплатформа там просто "а почему бы и нет", реализация пока есть только под андроид на стандартном фрагмент менеджере.
когда появятся другие платформы (или реализация для композа) не знаю, скорее буду ждать этого от комьюнити, но инфраструктура готова (надо только впитать философию)