この記事は bouzuya's RxJS Advent Calendar 2015 25 日目かつ RxJS Advent Calendar 2015 の 25 日目です。
今日は bouzuya's RxJS Advent Calendar 2015 の感想や反省 (ポエムっぽいもの) を書きます。
- 書けたもの
- Observable / Observer
- 生成・変換・結合・エラー処理などの Operator
- ConnectableObservable および Hot 変換 Operator
- Subject とその種類
- Disposable とその種類
- Scheduler とその種類
- 書けなかったもの
- RxJS の demo
- RxJS の testing
- Reactive とは何かなどの概念的な説明
- 図解などによる分かりやすい説明
- 引数による動作の変化や注意点
- RxJS の他の類似 library の紹介
ぼくの RxJS の知識・経験が足りていなくて、つまらない内容になってしまったと感じています。
特に Operator を紹介しているだけの記事は面白みに欠けたと反省しています。また単純に ReactiveX の list にそって書くのではなく RxJS 5 を考慮して、自身で厳選・再分類すれば良かったと後悔しています。RxJS 5 は Operator がより厳選されているので、移行も考慮して役立つ Operator に絞れたのではないかと思います。
また Operator の紹介に関しては細かい引数による挙動の変化にあまり触れられなかったのが残念です。あまり試せていないのでどれをよく使うのかなどが判断できなかったのが紹介できなかった主な理由です。ものによってはかなり挙動が変わるので説明は難しかったかもしれません。RxJS 5 ではそもそも別の Operator にされているものもままあります。
実用的な例や test などの情報が欠けてしまった点は良くなかったです。RxJS には test の書きかたについても紹介されていたりするのですが、個人的にそれが正解だと思えるところまで試せていなかったので紹介できませんでした。もっと使い込んでいれば良かったのですが……。
ぼくは Cycle.js を通じて RxJS を知りました。最近の Flux 派生 framework では RxJS が使われているものもあります。そういうものを紹介できれば面白かったように思います。あるいは RxJS と類似の library には kefir や bacon.js や most.js などがあります。そういった library を他の選択肢として紹介・比較できれば良かったのですが、そこまで試す余裕がありませんでした。
と、ここまで RxJS の知識もないままに自身の学習記録のような Advent Calendar を書いてしまったことを謝罪しつつも、ぼく個人としては RxJS 4.0.7 のほとんどに目を通せたことや、 Scheduler や Disposable の挙動も理解できたので、良い機会になりました。ありがとうございました。