Тут думаю на что переводить свое приложение с Джетпак навигации.

И рассматриваю и odyssey, Decompose, voyager. Но никак не могу определится куда податься 😉
У меня приложение сейчас использует hilt и viewmodel. Хотелось бы решить куда проще уйти с наименьшими изменениями.
Вояжер вроде все поддерживает судя по документации, но я уперся в VM. Не понимаю как нормально туда передать параметр типа id и при этом инжектить зависимости типа юзкейсов. Пока отложил 😉

Сейчас смотрю на Decompose. Я правильно понимаю что в нем вместо VM используются Components и мне нужно будет уйти от VM? Или может кто-нибудь использовал Decompose вместе с VM?

5 ответов

9 просмотров

Component = VM, по крайней мере можно спокойно себе так ее представлять. Она в себе обычно содержит состояние Value(Flow/StateFlow/Observable/…)<Model>, и ивенты Flow<Event>, но думаю можно и десяток состояний и флоу ивентов тоже иметь, разницы особой не будет думаю. Model может быть как обычный class, data class, так и RouterState (навигация через вьюмодель, так сказать). Очень удобный в использовании, при этом минимум требований

Anton-Potekhin Автор вопроса
Silent829
Component = VM, по крайней мере можно спокойно себ...

А как быть с DI? Hilt насколько я понимаю то же придается выбросить.

Anton Potekhin
А как быть с DI? Hilt насколько я понимаю то же пр...

Не использую DI фреймворки, но компоненты это обычные классы. Должно быть всё как обычно.

Похожие вопросы

Обсуждают сегодня

А если без шуток, на чем десктоп сейчас пишут кроссплатформенный (ну чтобы с минимальным допиливанием под каждую платформу) и чтобы хорошая производительность софта была. Толь...
🐈
9
коллеги привет. уже второй день бьемся об заклад с одной ошибкой, может вы сталкивались с таки странным поведением? есть тестовый сервер, на который паблишим релизную версию W...
Magzhan
11
Добрый день, коллеги, подскажите пожалуйста, есть ли кто-то тут, или у кого знакомые Senior / Lead C++, в идеале бы еще с QT с опытом или желанием работать с десктопом? Или эт...
🐈
5
Или мне дублировать структуру с информацией о следующем потоке в адресное пространство текущего потока?
One
9
Гайз, кто-нибудь пробовал запустить probe-rs под камень, которого нет в probe-rs? Мб есть какой-нибудь пример у кого... Через target-gen попробовал сгенерировать chip-descript...
Максим Смирнов
2
Слушайте, а при создании навигации на Tailor рили нельзя определять активный пункт навигации, как в Static Pages?
Pavel Lautsevich
11
Qt Widgets или Qt Quick?
Michael
6
Всем привет, подскажите где можно найти фриланс работы?
Вадим
7
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
Господа, а как такое в миграцию засунуть?
Денис Александрович
12
Карта сайта