nashcft's blog

時々何か書く。

Redux に関する昨日の出来事

前提: 当時の私の Redux に対する認識や知識

  • Flux: MVC, MVP, MVVM などと同じレイヤーで扱われるアーキテクチャパターン
  • Redux: Flux を実現するための具体的な実装、ライブラリ
  • Flux については 2014年末くらいに割としっかり調べてて情報を追っていたりした
  • Redux はそういうライブラリがあって今メジャーな存在になってるな程度の知識
    • あとは Elm から影響を強く受けているとかそういう話くらい

疑問

モバイル (Android, iOS) 界隈で "redux" について言及する時に特定の実装を指していないような気がするんだけどこの場合の "redux" って何だ?

投げた一連のツイート

初めて知ったこと

誤解? してたこと

  • Android にも iOS にも reduxjs/redux に相当するような "redux" という実装 (= ライブラリ) は存在しない
    • iOS には ReSwift というライブラリが存在して、それが reduxjs/redux に相当する
      • ReSwift の redux 部分の前身として ReduxKit というのがあった
    • Android には無いっぽい?
  • "redux" という語は特定の実装を指す
    • Three principles に則っていればそれは redux と呼べるみたいな認識っぽい
    • つまり一種のパターンとして認識されていることになる

Android 界隈に関しては reduxjs/redux のコンセプトだけ輸入して各々実装をしているという状況のように見えるので私の混乱の原因はそれっぽい。上に書いたように iOS は ReSwift (ReduxKit) が redux の実装として使われているようだけど、実装と共に redux が伝えられたのかは調べてないので不明なのと、あと名前が変わって "redux" という語がなくなってしまったので結局 "redux" はコンセプトだけを指すようになっていると認識している。

結局 reduxjs/redux がJS界隈でどのように普及・認識されていって、それがどのような形でモバイル界隈に輸入されていったのか知らないまま適当な発言をしていたという感じで、今もよくわかっていない。