RxSwift2.0.0がリリースされた

この記事は 「RxSwift Advent Calendar 2015」1日目の記事です。

長らく開発の続いていたRxSwiftの2系がついにリリースされたようです。

今回もまあまあ変わっている部分があるようなので、beta4, 2.0.0-rc0, 2.0.0 あたりでの特に気になった変更点をまとめます。2.0.0もリリースされことですし、そろそろインターフェースも落ち着いてくることを期待しています。

Observable生成メソッド関連の変更

グローバルに定義されていた justfailWith などが削除され、Observableのstaticファクトリメソッドになっています。。また後者については、error(ErrorType) に変更されています。おもな変更を一応コードで書いておくと以下のような具合です。

just の変更点

// before
just(value)  
//after
Observable.just(value)

find replace all just( to Observable.just(

failWith の変更

// before
failWith(/* ErrorType */)
//after
Observable.error(/* ErrorType */)

find replace all failWith( to Observable.error(

同様な変更

of(sequenceOfに変更), empty, create, zip, debounce, range, generate, interval など詳しくは この辺り をみると色々のってます。あとソースコードの diff も見ましょう。

Variable の変更

以前 VariableObseravble のインターフェースを持っていましたが、現在は asObservable() をかましてあげる必要がああります。Variable に対して、Observableの高階関数が直接使えなくなっているので注意が必要です。

var variable = Variable<Int> = Variable(1)
// variable.filter(function) => これはできなくなっている
variable.asObservable().filter(function)

MainScheduler.sharedInstance がいなくなった

MainScheduler.instance に変更

rx_controlEvents が rx_controlEvent に変更された

RxCocoa のほうの変更。find replace All で頑張ろう

その他

テスト向けの便利なライブラリ RxTests が増えたらしい。これについてはまた後ほど。あと VirtualTimeScheduler というものと HistoricalScheduler というものが増えたらしい。今後調べます。

おわりに

今年もRxSwiftを積極的に用いて、できればライブラリの開発にもContributeできれば良いかなぁと思っています。みなさんも便利で快適なライブラリ、RxSwiftを使って、胸がらんらん歌う開発をenjoyしましょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です