Introducing MvRx: Android on Autopilot

The new framework for Android is fully native but eliminates 50–75% of product code.

Gabriel Peal
4 min readintermediate
--
View Original

Overview

MvRx is a new Android architecture framework developed by Airbnb that simplifies the development process by reducing the amount of product code needed by 50-75%. It enhances the efficiency of building high-quality Android applications by addressing common challenges faced by developers.

What You'll Learn

1

How to simplify Android app development using MvRx

2

Why MvRx reduces repetitive coding tasks in Android development

3

When to adopt MvRx for new Android projects

Key Questions Answered

What is MvRx and how does it help Android developers?
MvRx is an Android architecture framework that simplifies app development by reducing repetitive tasks and boilerplate code. It integrates with Google's architecture components, RxJava, and Epoxy, making it easier for developers to create high-quality applications efficiently.
How has MvRx been received by Airbnb engineers?
Since its introduction, MvRx has been adopted as the standard for nearly 100% of new screens at Airbnb, with 93% of surveyed engineers rating it 8/10 or higher. This indicates strong satisfaction and effectiveness in improving the development process.
What technologies does MvRx build upon?
MvRx builds on top of Google's architecture components, RxJava, and Epoxy, making it a Kotlin-first framework. This allows for a cleaner API and improved development experience compared to traditional Java-based approaches.

Key Statistics & Figures

Percentage of code reduction
50-75%
MvRx reduces the amount of product code needed for Android applications, streamlining the development process.
Engineer satisfaction rating
93%
In a recent survey, 93% of engineers rated MvRx 8/10 or higher, indicating strong approval of the framework.
Number of new screens built
110
In just a few months, over 110 screens have been developed using MvRx, showcasing its rapid adoption.

Technologies & Tools

Framework
Mvrx
Used for simplifying Android app development and reducing boilerplate code.
Library
Rxjava
Used for handling asynchronous programming in MvRx.
Library
Epoxy
Used for managing RecyclerView updates efficiently in MvRx.

Key Actionable Insights

1
Adopting MvRx can drastically reduce the amount of boilerplate code in your Android applications.
By leveraging MvRx, developers can focus more on building features rather than dealing with repetitive tasks, which enhances productivity and accelerates the development cycle.
2
Integrating MvRx into your projects can improve collaboration among large teams.
MvRx's design allows it to scale effectively, making it suitable for projects with many developers, thus facilitating better teamwork and code management.
3
Utilizing MvRx can lead to a more enjoyable development experience.
The framework simplifies complex tasks, allowing developers to enjoy the process of building applications rather than getting bogged down by technical hurdles.

Common Pitfalls

1
Overlooking the integration of MvRx with existing Android architecture components can lead to confusion.
Developers should ensure they understand how MvRx fits within the broader Android ecosystem to avoid integration issues and maximize its benefits.

Related Concepts

Android Architecture Components
Reactive Programming With Rxjava
Efficient UI Updates With Epoxy