MVU 時代のメンタルモデル

MAUI 自体が .NET 6 に入らず、2022 Q2 に延びたのは残念。MAUI の MVU には期待していたのに。

というのも、ここ数年、React を使ったフロントエンド開発をやってきて、アプリ開発のメンタルモデルが変わってきた感がある。React の関数コンポーネントは、状態を受け取ってビューを返す関数。同じ状態を渡せば同じビューが返ってくるというのは、なるほどシンプルで、すっと腑に落ちた。

View = Component(State)

また、誰が書いた記事かは忘れてしまったけど、「アプリは現在のステートとアクションを受け取って、次のステートを返す関数」という意見を読んで、「それってまさに Redux の Reducer じゃん」て思った。コードっぽく書くなら下みたいな感じ。

State = App(State, Action)

その記事を読んだとき、React の関数コンポーネントに触れて変わりつつあった自分のメンタルモデルが、一気に変わった感がした。

React Hooks 時代になって、Recoil や Jotai といった React Hooks と親和性の高い状態管理ライブラリを最近は使うようになったけど、React + Redux は自分の中で結構しっくりきてたな。

Redux は Elm 由来。MVU も同じく。MAUI の MVU に期待するなというのは難しい。