Skip to content
benjchristensen edited this page Jan 24, 2013 · 14 revisions

RxJava is an implementation of Reactive Extensions – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

It extends the observer pattern to support sequences of data/events and adds operators for composing sequences together declaratively while abstracting away low-level threading, synchronization, thread-safety, concurrent data structures, non-blocking IO and other such concerns.

It supports Java 5 or higher and JVM based languages such as Groovy, Clojure, Scala and JRuby.

Why?

futures ... easy to compose but not efficient (blocking)

callbacks ... efficient (non-blocking) but hard to compose (nested callbacks, error handling, etc)

reactive ... efficient (non-blocking) and composable

More Information

sidebar

Clone this wiki locally