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.