Signal否定派
#Signal #状態管理
←Signal推し派
from ReactのSignalとAtomic State Managementの動向を追う
このコメント
@acdlite: We might add a signals-like primitive to React but I don’t think it’s a great way to write UI code. It’s great for performance. But I prefer React’s model where you pretend the whole thing is recreated every time. Our plan is to use a compiler to achieve comparable performance.
@acdlite: I really don't mean to be too dismissive of the enthusiasm around signals. I just prefer to imagine a world where the main thing you think about when building components is something other than optimizing update performance.
https://pbs.twimg.com/media/FplRmXlXoAAGHDd.jpg
@acdlite: @youyuxi @trueadm When @Huxpro introduced Forget at React Conf we focused on the auto-memoizing part, but the plan all along has involved compiling to a lower level reactive runtime. We like the perf characteristics of signals. We don't like the code you have to write to get it.
#Andrew_Clark
Why You Don't Need Signals in React #Daishi_Kato
Andrew Clark曰く
将来的にはReact Forgetで隠蔽されるからいいよね
Daishi Kato曰く
クライアント上での差分レンダリングを最適化したいならそれに特化したライブラリを使えばいい
Atomic State Managementはそのユースケースにぴったりだよ
koushisa.icon
Rxと同じで、フレームワークの裏側で使う分には便利だけどアプリケーションの表に出てくるべきではないと思っている
リアクティブな変数なのか、そうでないかを区別するために注意が必要となる
区別するために命名を$xxxとするような規約が生まれる
DX(Developer Experience)的にどうだろうか
静的検査が難ししい
Rxみたいに$hoge~のような命名規則とかでなんとかしてるイメージ
気をつけないとMVVMへ先祖返りしてしまう
フロントエンドでMV*フレームワークを使わない理由
この辺はエアプなので試したい
シンプルな画面であればシンプルにかけるようになるのは、それはそう
それは要件がシンプルだからであって要件がデカいとどうリファクタリングしても別に実装が小さくなるわけではない
現実世界はTODOアプリを一番綺麗に書けるコンテストではない
コンポーネントのレンダリングと状態が紐付かない
Race Conditionをはじめとしたレンダリングの一貫性を維持するための落とし穴がある
Reactのメンタルモデルは、コンポーネント単位で全て作りなおす
リアクティブの最小単位をコンポーネントに統一することで一貫性を保つ
クライアントサイドの実装におけるModelとは何か#64126edf866030000037fee5
React > Concurrent Featuresはバッチングの特権でもある
副作用のキュー管理
JSの this. はコンパイラや静的解析に易しくない
koushisa.icon
そもそもステートフルなGUIを作るのが本質的に難しいという問題がある
複雑なUIを作りだすと、全てを把握するためには状態遷移をCommand化して、実行とイベントはランタイムに任せるようになるので、じゃあ大は小を兼ねるReactで良いやんとなる
しかしReactの学習ハードルの高さは否めない
Easyさを重視したい時のSignal, Vueはありそう
koushisa.iconはReact脳になっちゃってるので^がEasyなのか?と言われると(自分にとっては)ReactがEasyでもあり、Simpleでもあるという回答になりそう
(自分の環境においては) React が Easy と Simple を両立していて理想的である