Reactive programming takes the functional paradigm and layers on sophisticated programming-in-the-large capabilities. These capabilities allow for using functional-like semantics in application architectures. ReactiveX is one of the strongest projects in the reactive world, providing a set of common specifications for language implementers. This article is a hands-on exploration of RxJava, the Java implementation of ReactiveX.
Getting started with RxJava
To test out RxJava, we’ll write a command-line application that watches the public event stream developed by CoinCap. This event stream provides a WebSocket API, which is like a firehouse of JSON-formatted events for every transaction on a wide range of crypto exchanges. We’ll begin by simply grabbing these events and printing them to the console. Then we’ll add in some more sophisticated handling to show off RxJava’s capabilities.