Need help with MvRx?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

airbnb
3.8K Stars 276 Forks Apache License 2.0 271 Commits 30 Opened issues

Description

MvRx: Android on Autopilot

Services available

!
?

Need anything else?

Contributors list

No Data

Build Status Maven Central

MvRx: Android on Autopilot

For full documentation, check out the wiki

MvRx (pronounced mavericks) is the Android framework from Airbnb that we use for nearly all product development at Airbnb.

When we began creating MvRx, our goal was not to create yet another architecture pattern for Airbnb, it was to make building products easier, faster, and more fun. All of our decisions have built on that. We believe that for MvRx to be successful, it must be effective for building everything from the simplest of screens to the most complex in our app.

This is what it looks like: ```kotlin

data class HelloWorldState(val title: String = "Hello World") : MvRxState

/** * Refer to the wiki for how to set up your base ViewModel. */ class HelloWorldViewModel(initialState: HelloWorldState) : MyBaseMvRxViewModel(initialState, debugMode = BuildConfig.DEBUG) { fun getMoreExcited() = setState { copy(title = "$title!") } }

class HelloWorldFragment : BaseFragment() { private val viewModel: HelloWorldViewModel by fragmentViewModel()

override fun EpoxyController.buildModels() = withState(viewModel) { state ->
    header {
        title(state.title)
    }
    basicRow { 
        onClick { viewModel.getMoreExcited() }
    }
}

} ```

Installation

Gradle is the only supported build configuration, so just add the dependency to your project

build.gradle
file:
dependencies {
  implementation 'com.airbnb.android:mvrx:x.y.z'
}

The latest version of mvrx is Maven Central

For full documentation, check out the wiki

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.