MVICore

MVI framework with events, time-travel, and more

Github stars Tracking Chart

MVICore

Version
Build Status
License

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}'
  • 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}'

Main metrics

Overview
Name With Ownerbadoo/MVICore
Primary LanguageKotlin
Program languageKotlin (Language Count: 2)
Platform
License:Other
所有者活动
Created At2018-03-12 21:50:29
Pushed At2025-04-02 16:22:59
Last Commit At2025-04-02 17:19:47
Release Count25
Last Release Name2.0.0 (Posted on )
First Release Name0.1 (Posted on )
用户参与
Stargazers Count1.3k
Watchers Count36
Fork Count89
Commits Count496
Has Issues Enabled
Issues Count59
Issue Open Count30
Pull Requests Count125
Pull Requests Open Count2
Pull Requests Close Count13
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private