読者です 読者をやめる 読者になる 読者になる

Fluxって?

この記事はOIC ITCreate Club Advent Calendar 2016 18日目の記事です。

www.adventar.org

去年同じタイトルの記事を書けなかったので今年こそは書きます。 Fluxについて調べてみました。

※不完全燃焼です、この記事を読んでもFluxを理解することはできないと思います。

なぜFluxが必要なのか?

有名なアーキテクチャMVC(Model,View,Controller)があります。 Model:データと手続きを担当 View:モデルからデータを受け取り表示を担当 Controller:ユーザーの入力(イベント)をモデルに伝える担当

データのやり取り、表示、ユーザーの入力のハンドリングとそれぞれ役割をわけることで独立性の向上や保守性を保ちます。

MVCには一つ問題点があります。 MVCで調べるとModel,View,Controllerの関係を表す図があるのですが、ModelとViewに双方向の矢印が引かれていることがあります。これはモデルとビューの間に双方向のデータフロー が作られる可能性があるということを示しています。これによりデータの流れが複雑化しフローの理解やデバックが難しくなります。

複雑化の原因は双方向のデータフローにあるので、単方向のデータフローアーキテクチャであるFluxが誕生したようです。

Fluxを使うとどんないいことが?

色々調べてみたのですがメリットがわかりませんでした。 Fluxにメリットがないということではないと思います。自分自身がなんとなくMVCやFluxを使ってきたがために、そういうものがなかった場合どう行った問題・課題があるのかがわからないため、MVCやFluxのありがたさがわからないのだと思いました。

最後に

一度MVCやFluxを使わず開発してみて、それからMVCやFluxの勉強をした方がいいのだと今回調べてみて気付きました。 これはアーキテクチャだけの話でなくフレームワークにも言えるのではないかと思います。 アークテクチャやフレームワークがどう行った問題を解決するためにできたのかということを意識して勉強して行きたいと思います。

変な終わり方になってしまい、すみません。

最後まで読んでいただきありがとうございました。