フロントエンドのWeb開発では、多くのフレームワークが仮想DOMソリューション(React https://www.npmjs.com/package/virtual-domのvirtual-domなど)を好んでいます。通常、引用された設計上の理由により、DOM操作をフロントエンドレンダリングのボトルネックとする問題が回避されます。仮想DOMをブラウザのネイティブDOMよりも優れたものにする要因は何ですか?
現在のブラウザではDOM操作が遅いため、仮想DOMソリューションではパフォーマンスが向上するのはなぜですか?
このボトルネックを解消するためにブラウザー自身が実行できる(実行中の)点は何ですか?ブラウザ自体はバッチ風のDOM APIを開発していないでしょうか?ポインタとして
、私は、実行時にはネイティブDOM操作コードにJIT'ed、JavaScriptから跳躍する必要があるとき、コンテキストスイッチとは何かかもしれないと感じ、私は決定的な答えを見つけたことがありませんこれに。
DOMは遅くはない、それは現代の神話のようです。 React a)によって採用された「仮想DOM」はより宣言的ですb)常に起こっているコンポーネントの完全な再作成をよりうまく処理します。 – Bergi
要するに、DOM APIはバッチ処理をサポートしていません。すべてが即時モードで実行され、遅いです。 – ssube
@ssube:「すべて」とは何か?リフローと再描画は、ネイティブDOMで確実にバッチ処理されます。 – Bergi