Droidcon Boston '19: Achieving Fully Reactive Code Using Both LiveData and RxJava
We’ll review what reactive programming is and its history. We’ll address the ways in which the Android community has been using reactive technologies and how it can take the next step in adopting these techs towards creating end to end reactive apps.
Modern mobile applications make use of a wide array of technical solutions to achieve clean, testable and performant code. Among these tools is the reactive programming paradigm. While many have heard of reactive programming, far less have a solid understanding of what it is, how to achieve it, and what benefits it may provide. The Android communities use of RxJava as a replacement for the AsyncTask class has lead to widespread adoption of reactive technologies without a corresponding embracing of reactive programming. In this talk, we’ll review what reactive programming is and what its history is. We’ll then address the ways in which the Android community has been using reactive technologies and how it could take the next step in adopting these technologies towards creating end to end reactive apps. We’ll take a deep dive into how RxJava integrates with the Android LiveData classes and when to use which. We’ll work through a small but meaningful application to demonstrate reactive programming concepts in the Android world. We’ll end the example by looking at how the code can be (easily) tested and some of the benefits we’ve received from utilizing a reactive approach.