FLUXとは ~ 概要 ~
Facebookが提唱している、UIを構築するためのアプリケーションアーキテクチャです。 Reactと一緒に語られることが多いですが、FLUXは特定のツールに依存したフレームワークではなくアーキテクチャのパターンの一つなのでReactを使わなくても実装可能です。
FLUXの特徴は、Action → Dispacher → Store → View と単一方向のデータフローによってUI設計をしていることです。 これによりデータフローによる複雑性をへらし、コードの可読性や堅牢性を高めています。
従来の手法とはなにが違うの?
よく比較されるMVCアーキテクチャとの違いは、データフローを単一方向に限定したこと。 MVCのControllerとModelは複数のモデルとControllerが相互にデータをやり取りすることで状態を把握することが困難なりがちだが、FLUXは単一方向データフローを実現することでこの課題を解決している。
技術や手法のキモはどこか?
Dispacherをシングルトンにすること、どのイベントに反応するかはStore側でハンドリングできるようにすること。 それによってStoreの追加による機能拡張も容易になる。
参考URL
Flux | Application Architecture for Building User Interfaces
flux/examples/flux-concepts at master · facebook/flux · GitHub
flux/examples/flux-logging at master · facebook/flux · GitHub