Posted On: Aug 31, 2020
Today, we are announcing first-class support for RxJava as of Amplify Android 1.3.0. RxJava is a Java VM implementation of Reactive Extensions. RxJava is widely used by Android developers as a means to simplify asynchronous programming. Amplify Android is part of the open source Amplify Framework. Amplify makes it easy for developers to build Android apps with AWS-powered functionality, such as auth, data modeling, storage, and analytics.
Previous versions of Amplify Android supported only a standard callback model for handing asynchronous calls. While this is a common pattern for Android developers, it can lead to a well-known condition known as “callback hell”, where dependent asynchronous calls are nested within callbacks. For anything beyond simple dependency cases, this type of code quickly becomes difficult to follow and maintain. With today's Amplify Android release, developers can now flatten this nest of callbacks by using the RxJava variants of the APIs. Support is included for all asynchronous APIs in Amplify Android, including Auth (sign up, sign in, observing session status), DataStore (CRUD operations, observing changes), and Storage (uploading and downloading files), among others.