MVICore
MVI framework with events, time-travel, and more
Install / Use
/learn @badoo/MVICoreREADME
MVICore
What's this?
MVICore is a modern, Kotlin-based MVI framework:
- Scaling with complexity: operate with a single Reducer if needed, with the option of having the full power of additional components to handle more complex cases
- Event handling: A solution to handling events that you don’t want to store in the state
- Reactive component binding: A super simple API to bind your reactive endpoints to each other with automatic lifecycle handling
- Custom Middlewares: for every single component in the system, with flexible configuration options
- Logger: An out-of-the-box logger Middleware
- Time Travel Debugger: for ALL of your reactive components (not just your state machine!) with UI controls for recording and playback
Documentation
The library comes with lots of powerful capabilities and tooling.
See https://badoo.github.io/MVICore/ for full documentation.
Download
Available through jitpack.
Add the maven repo to your root build.gradle
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
Add the dependencies:
- Framework:
implementation 'com.github.badoo.mvicore:mvicore:{latest-version}'
- Binder (for versions higher than 1.2.4)
implementation 'com.github.badoo.mvicore:binder:{latest-version}'
- Helper classes for Android:
implementation 'com.github.badoo.mvicore:mvicore-android:{latest-version}'
- ModelWatcher for efficient view updates
implementation 'com.github.badoo.mvicore:mvicore-diff:{latest-version}'
- Time Travel Debugger controls in a DebugDrawer module (You need to add the dependencies to DebugDrawer and configure it yourself before you can use this):
implementation 'com.github.badoo.mvicore:mvicore-debugdrawer:{latest-version}'
Related articles & videos
Related Skills
node-connect
344.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
99.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
