Всем привет!
Помогите, пожалуйста, определиться с выбором архитектуры для нового проекта.
Мы решили сделать так - разделить код на 3 проекта - проект под андроид, проект под веб и проект с бизнес логикой.
Проект с бизнес логикой:
1. Тут у нас инитится подключение к сокету и после он отдает стримами данные (я думаю самое оптимальное отдавать стримами, потому что данные обновляются, а стримы будет удобно слушать в проекте клиенте (андроид или веб)
2. Также тут у нас есть все нетворк запросы
3. Ну и остальная общая бизнес логика
Проекты андроид и веб:
4. Тут подключаем как зависимость пакет с бизнес логикой и пишем юай под каждую платформу. Да, думаю, будет много дублирубщего кода и есть смысл разделить проекты чисто по юаю, а юайную логику тож вынести в отдельный компонент, но это пока не критично.
Ну собственно все) То есть данные будут приходить в виде стримов и они довольно часто обновляются) У экранов есть разные состояния, для их хендлинга думаю стори буки сделать (чтоб на этапе дизайна просматривать легко состояния всех экранов).
Я до этого имел опыт с редаксом и мне очень импонирует понятие глобал стейта и его мапинг на отдельные экраны. Но тут не совсем удобно будет обновлять мне кажется - то есть постоянно буду диспатчить экшены на апдейт стейта и перерисовывать экраны.
Сейчас смотрю в сторону Bloc/MobX, но опыта не имел и вот хочу спросить вашего совета) Тяжело ли разобраться? Как думаете подойдет ли под стримы блок лучше?
Благодарю)