I want to tell you a story: how we failed by taking the “normal” MVC path, and how we managed to save our project using the Model-View-ViewModel pattern and RxJava.
Considering the increasing popularity of the Model-View-Presenter pattern and RxJava in the Android community, the widespread adoption of the Model-View-ViewModel pattern naturally followed. MVVM and RxJava helped us (an 8 person team) to quickly refactor a monolithic app, providing us with a great foundation for new features.
In this talk, I want to share our love story with MVVM and RxJava and offer some insight into the following topics:
What the MVVM pattern is, what are its benefits and RxJava’s role within it (with source code snippets)
Mistakes made during ‘war mode’ and how we recovered
If RxJava is the hammer, are all problems nails? Is there such thing as overusing RxJava?
Finally I’ll address some open questions about how we can still improve the existing code base in terms of readability, testability and robustness and whether Android Data Binding is a solution that is worth integrating.