Webアプリケーション開発でOOPが覇権を獲っていた世界線に関する考察
もしWebアプリケーションがtoB管理画面GUIツールのためだけのものであったならば
ユーザビリティやらパフォーマンスやらを気にしなくてもいい世界となり
実装も純粋関数のような関数プログラミングが流行らずにOOPだけが覇権だったのではないか、とか妄想してます
ただWebフロントエンドの世界においてはさまざまな制約があるためそれで済む話ではない
逆にアプリケーションとしての制約があまりに強いのであれば別にWebじゃなくてもいいのではないか
Webフロントエンドで求められる品質特性と制約はバックエンド開発のそれとは異なるから
https://gyazo.com/b2d0457764b7a5e8fe0d570fa18c493f
JSConf.jp おかわり Node学園46時限目
OOPはGUIに向いているのでは?
むしろバックエンドより生きるのでは?なぜ避けているのか?
品質特性と制約にヒントがあるのではないか
1. 変更検知
ユーザービリティのために再レンダリングさせたい
インスタンス比較より値の比較のが早いし簡単
2. バンドルサイズ
モジュール化にはクラスとESM
Tree Shakingに向いているのはクラスではなくESM
OOPは決定は遅ければ遅いほどでいい(遅延束縛)
- だからポリモーフィズムで動く
でも決定が遅れると使っているかどうかがわからない、ブラウザへ持っていくほかない
隠されているものがないと削れるものが増える
- 純粋関数が優れている理由になる
- 静的解析