ObservableStreamは超かっこいいけど使い道の少ない技術
#Rx #Signal #BLoCパターン #Observable
from FlutterでBLoCだChangeNotifierと振り回されて消耗するまえに
10年前にC#がRXをはじめたときからわかっていたはずですが、ObservableStreamは超かっこいいけど使い道の少ない技術です。フレームワークの裏側で使う分には便利ですが、表に出てくるべきではないでしょう。普通のGUIアプリケーションであれば99%のユースケースはただのコールバックで満たせます。
しかもBLoCはViewModelのパターン*1です。ViewModelとViewの接続にStreamが必須になるようなケースをどれだけおもいつけますか? コナミコマンド? せめてFlutterのTextFieldやControllerなんかがStreamをストレートにサポートしていればいいのでしょうが、もちろんそんなものはありません。
さらにもうちょっと高度なことをやろうにも、Dartの貧弱な型システムでは安全性の担保が面倒で
データフェッチにおいてonSuccess、onError、onSettledはアンチパターン
#View_Model #MVVM #コールバック
どれを使ったって、5年後には無くなるか別のものがデファクトになってる
---
Streamという抽象概念は普通のGUIアプリケーションにはオーバーすぎる
Netflixにすら、「Reactive is hardと言わしめる」
@cero_t: Netflixの人にもReactiveは難しいって言わしめるの、もう面白すぎるやろ。
---
@mizchi: cycle.js というかFRPゴリ押し期はelm reduxのそんな時系列ストリームバッファの管理なんて高尚なこと考えずに来た順に一個ずつアクション流して都度考えればよくね?で終戦した記憶
Elmの哲学
---
useState vs useReducer
---
---
@_take_hito_: 大きめの技術カンファレンスとかでRxSwiftの良さを紹介した人たち、もうRxSwift使ってないと思うんだよなー。
そういう背景もあって、一部の界隈で流行っているTCAも全然興味が湧かないんだよな。
iOSで良い体験にするためのSwiftUIの知識だけが欲しい。
SwiftUI 時代の Functional iOS Architecture
The Composable Architecture
https://twitter.com/_take_hito_/status/1717404241156010361
RxSwiftは本当に難しいと思う。
難しくしなくてよいところを不必要に難しくする。
こういうライブラリが流行ると、自分たちの課題解決にもなると思い込んで取り入れてしまうのがiOS界隈あるあるだと思う。
iOSアプリ作っているのであればUIフレームワークを軸に考えたい。
自分たちの課題解決にもなると思い込んで取り入れてしまう
やっぱりそうですよね〜
背景にある数学や関数型リアクティブプログラミングの考え方が理解できていれば強力なツールになり得ますが、ほとんどのプロジェクトでは過剰なんじゃないかなと想像してます。
ほとんどの問題は、もっと基本的なプログラミングスキルで解決できると思うんですですよね〜😅
https://twitter.com/orga_chem/status/1717705362919379293
同感。正直 Observable 系の型と map と flatMap、filter 以外はいらないと思っている。throttle とか debounce は間違ったことにしか使われないし。RxTest も間違ったことにしか使われない。
正直 Observable 系の型と map と flatMap、filter 以外はいらないと思っている
(Type|ECMA|Java)Scriptだと、Atomic State Managementがそれな気がするkoushisa.icon
https://twitter.com/tobi462/status/1721115162412023948
私たちは責務分割により結合度を下げることの重要性を理解していたはずなのに、なぜリアクティブプログラミングでアプリケーションコードの大部分を結合するような行為に走ってしまったのか、と改めて考える価値はあるのかもしれない。
koushisa.icon
現代的には関数型プログラミングをベースにRedux, Atomic State Management, DOTS(Data-Oriented Technology Stack)のような考え方へと昇華されてる印象