長らく開発の続いていた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しましょう。