Может сделать какой-то annotation processor и на переходы вешать аннотации чтобы этот процессор генерил какой-то статичный файл типо xml и по нему уже можно будет отрисовать граф.
Может сделать какой-то annotation processor и на переходы вешать аннотации чтобы этот процессор генерил какой-то статичный файл типо xml и по нему уже можно будет отрисовать граф.
Зачем сразу annotation processor? Можно написать компайлер плагин как в сериализации или в вьюбинденге. Будет работать в лайве.
я думал скорее с ракурса: описываем навигационный граф на каком-то котлин DSL, его отображаем, а еще в роутере можем дергать не метод навигации а метод ссылающийся на DSL с ид перехода
я думал скорее с ракурса: описываем навигационный граф на каком-то котлин DSL, его отображаем, а еще в роутере можем дергать не метод навигации а метод ссылающийся на DSL с ид перехода
я думал скорее с ракурса: описываем навигационный граф на каком-то котлин DSL, его отображаем, а еще в роутере можем дергать не метод навигации а метод ссылающийся на DSL с ид перехода
Ну тут наверно апи библиотеки сильно поменяется и будут breaking changes?
Ну тут наверно апи библиотеки сильно поменяется и будут breaking changes?
я ж не сказал, что уберу все остальные методы. можно будет выбирать, как использовать библиотеку. там скорее будет отдельный роутер, который в конструкторе получает граф навигации
Вообще вот то, что Костя описал, можно разбить на две фичи: 1) Написание DSL для описания графов перехода, как в nav components, но только не в xml 2) Интеграция этого DSL с Cicerone
Вообще вот то, что Костя описал, можно разбить на две фичи: 1) Написание DSL для описания графов перехода, как в nav components, но только не в xml 2) Интеграция этого DSL с Cicerone
3) Прожать интеграцию с nav components через связи в JetBrains
C dsl идея клёвая, и не надо этих аннотейшен процессоров, влияющих на компиляцию.
Ну вообще граф имхо полезен. У меня был кейс рефакторинга и я первым делом нарисовал диаграмму переходов чтобы было понятнее какие экраны как между собой связаны.
Опять же, рендеринг можно делать во вторую очередь, но это было как минимум хорошим плюсом. Не совсем корректное сравнение, но без нормального работающего плагина для рендеринга в Anko юзать было не очень удобно. Для навигации не так принципиально, но прикольно