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
は決定は遅ければ遅いほどでいい(
遅延束縛
)
- だから
ポリモーフィズム
で動く
でも決定が遅れると使っているかどうかがわからない、ブラウザへ持っていくほかない
隠されているものがないと削れるものが増える
-
純粋関数
が優れている理由になる
-
静的解析