【りあくてぃぶぷろぐらみんぐ】
リアクティブプログラミング とは?
最終更新:
💡 変化を察知して自動で連鎖、スプレッドシートのような反応型プログラミング
データの変化やイベントを、定義した依存関係や処理の流れに沿って伝えるプログラミングの考え方。依存する計算やUIの更新、非同期イベントの処理などに使われる。
📌 このページのポイント
リアクティブプログラミングって何が反応するの?
データの変化に、依存する処理が反応するんだ。表計算でA1を参照する数式を設定しておくと、A1の変更で数式の結果も再計算される、というイメージだよ
普通の変数も自動で更新されるの?
そうではないよ。普通のJavaScriptでb = a * 2と計算しても、後でaを変えるだけではbは再計算されないんだ。変化を検知して処理へ伝える仕組みと、依存関係の定義が必要だよ
RxJSって関係あるの?
RxJSではObservableを購読し、届く値をmapで変換したりfilterで選んだりできるよ。イベントを処理する流れを組み立てる方法で、UIの更新だけに限らないんだ
リアクティブマニフェストとは同じもの?
関連する考え方だけど対象が違うよ。マニフェストは応答性・耐障害性・弾力性・メッセージ駆動を備えるシステムの設計を述べているんだ。データの変化を伝えるプログラミングを使うだけで、そのすべてを満たすわけではないよ
まとめ:ざっくりこれだけ覚えればOK!
「リアクティブプログラミング」って出てきたら「データの変化を依存先の処理へ伝える考え方」と思えばだいたいOK!
📖 おまけ:英語の意味
「Reactive Programming」 = 反応型プログラミング
💬 Reactive は「反応する」という意味で、データの変化に反応して処理が動くイメージだよ