昨年RxJava Adavent Calendarというものをやっていて、その中でRxJava 2.x系の開発についてすこし紹介しました。 昨年末では、まだまだ実用段階という雰囲気ではなかった2.xブランチですが、先程レポジトリ覗いたらかなり状況が変わっていたので少しだけまとめました。
2.xの特徴
- continued support for Java 6+ & Android 2.3+
- Reactive Streams compatibility
- performance gains through design changes learned through the 1.x cycle
Reactive Streamsの仕様に準拠したというのが一番大きいですね。Reactive Streamsについては、冒頭でリンクしたエントリをご参照下さい。
リリーススケジュール
- 2016/08/26: Release Candidate 1
- 2016/09/23: Release Candidate 2
- 2016/10/21: Release Candidate 3
- 2016/10/29: Stable Release: General availability
RC-1のリリースがあと1ヶ月ほどなのを考えると勢いを感じますね。
なぜ急激に物事が進んだのか
僕はRxJavaのレポジトリを常にウォッチしてたわけではないので正確なことは言えないですが、リードコントリビュータが Ben ChristensenからDavid Karnokに変わったことなのかなという雰囲気を感じます。(Davidさんといえばageraのissueでマジレスされてたのも記憶に新しいですね)
あと当初2.x系はJava 8以上のサポートだったんですが、Java 6+ & Android 2.3+の方針に変更されたのはひとえにJake神による働きかけですね。 Jakeさんは本当に尊い
Support API compatibility with Java 6 in 2.x