Netflixは、 MS Open TechのReactive ExtensionsのJava実装を作成し、オープンソースした。しかし、RxJavaが単にJava用というのは、誤解を招くだろう。他のJVM言語からも使えるように設計されているからである。「最初サポートされる言語(Java自身の他に)は、 Groovy, Clojure, Scala、Jrubyです。」
Netflixは、サーバー側の同時実行を単純化するためにRxJavaを作成した。彼らのゴールは、クライアントがサーバー上で並行に実行される1つの「重い」クライアント要求を起動できるようにすることである。 Ben Christensen と Jafar Husainの両氏は、以下のように説明している。
サーバー側の並列性は、ネットワークのおしゃべりを効果的に減らすのに必要です。サーバー上の並列実行がなければ、1つの「重い」クライアント要求は、たくさんの「軽い」要求よりもずっと効率的ではありません。なぜならデバイスからの各ネットワーク要求は、当然他のネットワーク要求と並列に実行されるからです。不適切に「重い」要求をサーバー側で実行して、並列実行と同程度のレベルに達しなければ、例え保持しているネットワークレイテンシを占有しても、多数の「軽い」要求よりも遅くなるでしょう。
両氏によれば、関数的Reactiveのfutureとコールバックよりも優れている。なぜなら「関数的Reactiveは、効率的な実行と合成を提供します。Observableな オブジェクトをフィルタ、選択、変換、結合、合成を行えるオペレーターのコレクションを提供することで実現しています。」
サービス層のAPIが全てのメソッドでObservable
RxJavaは、「最終ゴールとして、そのラムダサポートによりJava 8向けのビルドをターゲットにし、Java 5(Androidをサポートするために)とそれ以上を」サポートする。元々のRxのように、Netflixの RxJavaは、Apache Licenseの下で提供されている。githubからRxJava を入手できる。