- マイクロソフトは最近、Edgeブラウザの性能改善のためにReactの利用をやめると発表した
- EdgeブラウザはGoogleのオープンソースプロジェクトであるChromiumをベースに作られている
- EdgeのUIを差別化するため、独自コンポーネントをReactで開発していた
- メニューやドロップダウンなどの小さなコンポーネントをReactで作り、それらを組み合わせる方式を使っていた
問題点
- モジュール性の問題
- 複数のチームが共通バンドルやファイルを共有することで、不要な依存関係が発生
- UIのある部分の速度低下が、ほかの部分にも影響を及ぼす
- クライアントサイドレンダリング
- JavaScriptを使ったクライアントレンダリング方式による速度低下
- バンドルサイズの増加
- 複数のコンポーネントが不必要に大きな共通バンドルを共有することになった
解決策
- WebUI 2.0という新しいマークアップ優先アーキテクチャを開発
- JavaScriptコードとバンドルサイズを最小化する方式
- Reactの代わりに、この新しいアーキテクチャを適用する予定
結論
- React自体の問題というより、マイクロソフトの誤った実装が原因
- Reactは遅いわけではないが、複数のインスタンスを生成する場合は高速さを期待できない
- しかしマイクロソフトは、Reactの代わりに独自ソリューションの開発を選択した
4件のコメント
React はたいていの場合遅くないですよね(笑)
原文にもReact自体が遅いとは書かれていないのですか?
> React isn’t slow. But you cannot expect it to be blazing fast when you create dozens of instances.
そう
ほかのMSプログラムはPWAに変わっていくという奇妙な状況ですね..