Всем привет.
Сделал небольшую библиотечку для реализации приложений по принципу
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