Всем привет.
Сделал небольшую библиотечку для реализации приложений по принципу
Unidirectional Data Flow
.
Написана на
Kotlin
с использованием
RxJava 3
. Получилась, как очень простая версия
MVICore
от
Badoo
. Ну или как
Redux
.
Из фичей:
- Разделение на
Action
,
State
,
ViewState
,
RouteEvent
и
ViewEvent
.
- Логика в отдельном потоке.
- Возможность включить логи и видеть все состояния/события и их трансформации.
- Легко подмерживать внешние стримы.
- Сохраняет состояния и очередь
route
/
view
- эвентов при отписке (пока жив процесс). Состояние также нужно самостоятельно сохранять в
onSaveInstanceState
.
- Демо. Это список юзеров
GitHub
с пагинацией. Есть 3 разных вида отображения прогресса и ошибки - первая загрузка, дозагрузка, обновление.
Из минусов:
- Пока не доделаны тесты.
- Нет ссылки для подключения из репозитория.
- Дока тоже не до конца дописана. Да и пока на кривом языке)
Если кому интересно - welcome) Жду ваши мнения.
https://github.com/g000sha256/reduktor