mizchi の Redux 考

まとめました
20
mizchi @mizchi

redux完全に理解した

2015-12-07 19:25:32
mizchi @mizchi

reduxどんなに勉強しても「お前のトレードオフはおかしい」という感情以外なくなる

2015-12-07 19:53:46
mizchi @mizchi

インターフェースは処理系の本質ではないがフレームワークはメンタルモデルの輪郭を共通化させるものであって、そこに内部実装が露出しているのはゴミでは?

2015-12-07 19:56:42
mizchi @mizchi

@voluntas 今日1日でたどり着いてよかった

2015-12-07 20:07:36
mizchi @mizchi

なぜreduxがゴミか、関数を各種インターフェース・ミドルウェアにとるが、関数が満たすべき仕様(型)が明示されてなくて、合成された関数が適用順のどのステップにあるか判断できる材料がないのが1つ

2015-12-07 20:13:34
mizchi @mizchi

reduxが使い物にならん理由、actionCreator と reducer と mapStateToProps(かそれ相当の関数) が実質的に密結合で分解不可能だが、reducer から先が非同期をとれないので、action~ にロジックが押し込まれていく。

2015-12-07 20:17:37
mizchi @mizchi

それによって reducer が本来行うべきコアステートの遷移が reducer の手を離れてしまってすっからかんになる

2015-12-07 20:19:56
mizchi @mizchi

なんでreducerが非同期できないの?ってgithub issue みたら「トランザクション壊れて状態復元できない」みたいなこと言ってたけど、関数をキューに詰める捌く発想ないのなんなの?っていうかUIスレッド知ってる?みたいな怒りがふつふつと

2015-12-07 20:23:16
mizchi @mizchi

関数適用のキュー作っておけば非同期reducerでも time travelling できるでしょ…

2015-12-07 20:24:29
mizchi @mizchi

そもそもtime travelling とかいう1デバッグ機能のためにAPIを制限しようとするところがクソ

2015-12-07 20:25:13
mizchi @mizchi

@omochimetaru これの作者関数型こじらせ脳なのだけどそれを動的な言語でやってるのが間違いのもとですね

2015-12-07 20:26:45
mizchi @mizchi

redux唯一よく出来てたのはreducerを分割できるようにしたところだけど、それまあ他のアレでも再現難しくない

2015-12-07 20:30:18
mizchi @mizchi

まとめると薄い Action と非同期キューの reducer があればよくて、それただの pubsub では

2015-12-07 20:36:02
mizchi @mizchi

@amagitakayosi 正直Rxにいい感情なくて、理論こねくり回して理論上最高言ってる連中にもムカついてて、substackと同じく EventEmitter じゃ駄目なの派で、とはいえ素組はめんどいしFlux の一歩手前の良い抽象化が欲しい、が今のステータスです

2015-12-07 22:23:36
mizchi @mizchi

SPA作ろうとするとFlux設計バトルから始まるのだるい…

2015-12-07 22:25:37
mizchi @mizchi

flux設計バトルのcycle.js方面、お前本当にそれ使ってアプリ作ったことあんのかよって目で見てる

2015-12-07 22:28:29
mizchi @mizchi

reduxの不満を自分なり解決したFlux実装を flumpt v0.1.0 をパッケージとして公開した github.com/mizchi/flumpt Ardaのサブセットでもある。命名はダークソウルのアレから FYI @amagitakayosi

2015-12-10 14:21:32
mizchi @mizchi

ダークソウルの方は frampt

2015-12-10 14:22:17
mizchi @mizchi

でかいステート1枚とEventEmitterありゃいいんだよ、というスタンスです

2015-12-10 14:25:27
mizchi @mizchi

flumptは非同期トランザクションはまだ実装してない。難しいので。

2015-12-10 14:27:10
mizchi @mizchi

middleware機構入れるか

2015-12-10 14:27:26
mizchi @mizchi

reducerみたいなstateの分割機構作るのはお前がやれ、結局1枚のjsonと1枚のjsonから生成される1枚のビュー、これがほしいんじゃろ、というアレ

2015-12-10 14:30:59