Android Software Architect
Android Software Architect at Babylon health, previously at Just Eat. Still searching for mobile architecture nirvana. Massive fan of reactive patterns and Kotlin. Has been recently dabbling in some functional programming concepts. Looking forward to teaching his daughter programming once she’s old enough. Boardgamer and motorcyclist.
Bye bye RxJava: Building flexible SDKs with Kotlin and Coroutines
We’ve made some mistakes building our client-facing SDKs over the last two years at Babylon Health.
RxJava has been around in Android development for years, and we’ve learned a great deal about it. It’s a powerful tool, but with great power comes great responsibility. And really – you should always use the right tool for the job, not the most “powerful” one. Now we have a new tool in our toolbox – Coroutines – and they seem better suited to a typical Android business layer. It doesn’t mean RxJava should be entirely out of the window, as for us it’s still quite useful on the UI layer.
We’re here to share why and how we went from a heavily RxJava based SDK architecture to a more client and developer-friendly approach replacing most of our code with Kotlin & Coroutines and compare both solutions.
We will admit to mistakes, share the principles that guided us in our planning for fixing them and show you how we came up with a plan and executed it.