各種参考になる資料
非.NETプログラマーにとってRxとは何なのか
Rxとは、一言で言えば「関数型リアクティブプログラミングを実現する強力なライブラリ」である。
でも、これだと意味が分からないのでもうちょっと解説する
Rxは分かりやすく言えばPromise++であり、callback++である。
PromiseもcallbackもすべてObservableであり、すべて時間軸上のStreamで表される。
Streamで表されるということは、filter/mapや合成等の関数型言語由来の機能で操作可能ということでもある。(モナド!)
以上の利点は最終的に、時間軸上の処理に関わる複雑なドメインロジックを簡素に表現できるということに繋がる。(どう処理するのかではなく、何をしたいのかを書くことになるから)
これは、複雑な仕様を分かりやすく、短く、簡素にコーディングすることが可能であることを表す
重要なポイント
- RxはPromise++であり、callback++である
- RxはPromiseやcallbackを時間軸上のStream(Observable)で表す。
- Streamで表すことによって、filter/map等の関数型言語由来の機能で扱え、最終的にどう処理するかではなく、何をしたいのかを書くことになる
- 時間軸が関連する複雑なドメインを簡潔にコードで表現できる