長らく開発の続いていたRxSwiftの2系がついにリリースされたようです。
RxSwift 2.0.0 is released https://t.co/CQKLpC1LKm 🍾 We hope it will make your lives easier and more fun. 🙇Have a great year.
— RxSwift (@RxSwiftLang) January 2, 2016
今回もまあまあ変わっている部分があるようなので、beta4, 2.0.0-rc0, 2.0.0 あたりでの特に気になった変更点をまとめます。2.0.0もリリースされことですし、そろそろインターフェースも落ち着いてくることを期待しています。
Observable生成メソッド関連の変更
グローバルに定義されていた just や failWith などが削除され、Observable の static ファクトリメソッドになっています。また後者については、error(ErrorType) に変更されています。おもな変更を一応コードで書いておくと以下のような具合です。
just の変更点
// before
just(value)
//after
Observable.just(value)
find replace all just( to Observable.just( すればOK
failWith の変更
// before
failWith(/* ErrorType */)
//after
Observable.error(/* ErrorType */)
find replace all failWith( to Observable.error( すればOK
同様な変更
of(sequenceOfに変更), empty, create, zip, debounce, range, generate, interval など詳しくは この辺り をみると色々のってます。あとソースコードの diff も見ましょう。
Variable の変更
以前 Variable は Obseravble のインターフェースを持っていましたが、現在は 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しましょう。