A Pragmatic Reactive Architecture
Submitted by Ragunath Jawahar (@ragunathjawahar) on Thursday, 15 June 2017
The software industry is amidst of a paradigm shift - functional reactive programming. It is the new black. When our co-founders insisted on speed and stability we began evaluating several factors that could speed up development and delivery for our Android and iOS applications.
We noticed that we were mixing functional reactive programming model with battle-tested but old architectures like MVP, MVVM, etc., A new programming paradigm requires a new application architecture to go with. We began looking out for other platforms and drew a lot of inspiration from web development community and came up with a pragmatic reactive architecture based on unidirectional data-flow.
In this talk, we discuss the architecture in detail and share recipes on a set of patterns that can be used to build reactive applications for both Android and iOS. We walk through several examples explaining how you can use RxJava to architect scalable apps using this reactive architecture.
How MVI enables developers build better apps
Representing and managing UI states
Fractal nature of MVI architecture
You must be familiar with at least one architectural pattern.
A basic understanding of RxJava is desired.
Ragunath is currently working with Kite Cash, a fintech startup based out of New Delhi. He holds a 6+ years of experience in Android development and has worked as an independent consultant with various renowned brands across the globe such as Tiffany, Mizuno, Glenlivet, Tata Group, etc., He has an inherent hunger for new technologies and has strongly supported and contributed to many open source libraries. At work, he believes in justified use of third party libraries and object-oriented & reactive programming paradigms as a way to boost developer productivity. His “Android Development for Newbies” course, hosted on Udemy has 84,000+ students worldwide. Ragu’s form validation library for Android, named Saripaar has been used by organisations worldwide. Although Java is his primary language of choice, Ragu draws a lot of inspiration from other popular languages, patterns and framework, across different platforms. He has actively interacted with the developer community, both as a speaker and a participant. He has spoken at DroidCon London ‘16, and several other developer meetups across India.