ChromeがDOMとCanvasの長年の二択を終わらせるAPIを公開
The HTML-in-Canvas API origin trial
Web開発者はこれまで、リッチなUIのためにDOMを選ぶか、低レベルな描画性能のためにCanvasを選ぶかという難しい選択を迫られてきた。Chrome 148〜150のorigin trialとして登場したHTML-in-Canvas APIは、DOMコンテンツを直接2D canvasやWebGL/WebGPUテクスチャに描画しながら、テキスト選択やアクセシビリティ、find-in-page、拡張機能まで維持できる。Three.jsやPlayCanvasもすでに対応している。
HTML-in-Canvas APIは、両方の世界の良いとこ取りを実現する架け橋です。
HNでの議論
32- andsoitis
html-in-canvasについての1年前の議論: https://news.ycombinator.com/item?id=44772177
(116件のコメント)
- artpar
キャンバスネイティブなワークスペース全体を実装したくて、まずはHTMLのみの実装と「偽キャンバス」のアプローチから始めたのですが、中程度の数のパネル(約50枚)でも応答性がかなり落ちてしまいました。そこで「本物のキャンバス」を使った新しい実装に切り替え、パネルやインタラクションを練り上げました。
パフォーマンスの面ではこのアプローチの方がずっとうまくいきました(1000枚以上のパネルやネストしたパネルでも60fps以上を楽に維持できます)。ただ、各パネルの実装の複雑さは非常に高くなります。たとえばMarkdownレンダリング用のJSライブラリやサードパーティのUIコンポーネントをそのまま使う、というわけにはいきません。しかも、ちょっと変更を加えるだけでパフォーマンスが大幅に劣化することもしょっちゅうです。
現在はテキスト・Markdown・画像・音声・動画・PDFのパネルがあります(ファイルをドラッグ&ドロップできます)。
html-in-canvas APIを使って、もう一度作り直してみるべきかなと考えています。ただ、彼らがメリットや利用実績を見出せなければ、このAPIがメンテナンスされなくなるのではないかと心配です。
- mrec
うーん、これがどうやってプライバシー漏洩の可能性を避けているのか、すぐにはよく分かりません。たとえば、DOMのハイパーリンクをキャンバスに描画して、その訪問済みかどうかの色をピクセルデータからスクレイピングする、といったことです。
あるいは私が時代遅れなだけかもしれません。本格的なWeb開発は長いことやっていないので。
- hollowturtle
ああ、SkiaのようにアクセシビリティとテキストレイアウトのAPIが別々にあって、DOMを完全に捨てられたらどんなにいいだろう。
- chrismorgan
(2026年5月。)
その頃の関連コメント群: https://news.ycombinator.com/item?id=48201222