へいへいほー、saikiです。
前回react+Redux+なんやかんやでアプリ作るみたいな記事を書きましたがよく考えたらreduxとはなんなのかちゃんと書いてなかったので調べました。
ちゃんとって言っちゃったけど参考記事はって納得したことを書くだけなのでちゃんとではないです。ごめん。
Reduxとは?#
ReduxはFluxというアーキテクチャを基にしたアーキテクチャのようです。
こちらの記事がとてもわかりやすかったです。
ところで、実はReduxについて調べてるとこういうコマンドをちょいちょい見かけます。
npm install -s redux
redux=アーキテクチャとなると全然意味わかんないですよね。
npm install -s mvc
と同義ですよ。mvcをインストールするってナンノコッチャ。
まあナンノコッチャも何も単純に同名のフレームワークが存在しているだけでした。
reduxアーキテクチャをjavascriptで実現するためのフレームワークがredux、もしくはreduxというフレームワークによって実現されるアーキテクチャがreduxです。
卵が先か鶏が先かみたいな感じになってますが多分そう。こう考えても怒られないはず。
のでreduxについて調べるときはアーキテクチャとしてのreduxなのかフレームワークとしてのreduxなのかを意識すると悩まなくて済みそうです。
私は悩みました。
あと調べてると記事によってはjavascriptでFluxするためのフレームワークとして説明されていることがありますがReduxはFluxにインスパイアを受けた別アーキテクチャと考えるのが正しそうです。
Redux is in part inspired by Flux, and the most common complaint about Flux is how it makes you write a lot of boilerplate. …
Reactとは関係ない#
同じ「Re」がついてるせいもあってなんとなくReactとセットのものなのかと思ってたんですが別にそういうわけじゃないようです。
公式はチュートリアルではReactとの相性はいいけど別に好きなライブラリ使ってくれて構わないぜってスタンスでした。
とはいえReduxのチュートリアルにReactでの使い方も載ってるぐらいなので特にこだわりがなければReactで使うのが妥当な気がします。
(こだわりがないのでアイキャッチ画像もReactにしてしまった)
まとめ#
- reduxはアーキテクチャ
- そしてフレームワーク
- reduxアーキテクチャをjavascriptで実現するためのフレームワークがredux、もしくはreduxというフレームワークによって実現されるアーキテクチャがredux
- reactとは関係ない
雑。あとは使いながら知る。
終わり。ではまた