RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.
RxJava is a Java implementation of Reactive Extensions. Android-specific support for RxJava is provided by rx-android.
The main goals of RxJava
- Stay true to the principles and concepts behind the original rx.net implementation while adjusting to the naming conventions and idioms of Java
- All contracts of Rx should be the same target - the JVM
- JVM-based languages supported (beyond Java itself) include groovy, clojure, jruby, kotlin and scala
- Support Java 6+
The library is open sourced under Apache 2.0 license.