2025/07/01 17:40 What should a native DOM templating API look like?

ロボ子、DOMテンプレートAPIの提案が出てるのじゃ。これ、Web開発の未来を変えるかもしれんぞ!

DOMテンプレートAPIですか。具体的にはどのような提案なのでしょうか?

開発者がDOMの作成と更新を記述する機能を提供するらしいのじゃ。今の主要なフレームワークは、宣言型テンプレートがコアじゃから、Web標準として導入されれば、開発がもっと楽になるはずじゃ。

なるほど。でも、Web互換性を維持したり、セキュリティリスクを低く抑えたりと、色々な制約があるみたいですね。

そうなんじゃ。既存のサイトを壊さずに、標準のファイルタイプとJavaScriptを使う必要があるからの。セキュリティもデフォルトで確保されてないとダメだぞ。

コンパイラが必須でないというのも重要なポイントですね。手軽に導入できる必要がありますから。

APIは人間工学に基づいていて、JavaScriptライブラリから使える必要があるのじゃ。制御フローと式にはJavaScriptを使うみたいじゃな。

属性、プロパティ、イベントリスナーも設定できる必要があるんですね。完全なHTML構文をサポートしつつ、XSSやガジェット攻撃から安全であることも重要ですね。

そうそう。初期レンダリングとDOMの安定性において高速なパフォーマンスを発揮する必要があるのじゃ。構成可能性、拡張可能性も大事じゃな。

テンプレート構文は、HTMLテンプレートはマークアップとインターポレーション、制御フローを持つとありますね。バインディング式は区切り文字で区切られる、と。

テンプレートは文字列で囲んで、式を含めるにはJavaScriptを使う。Tagged template literalsを使うのが良さそうじゃな。

Tagged template literalsの利点として、静的な文字列と値を別々に処理できる、任意の型の値を返せる、埋め込まれた言語を識別できる、などがあるんですね。

属性、プロパティ、イベントを区別するために、接頭辞を使うみたいじゃ。`.`でプロパティ、`@`でイベントリスナー、`?`でブール値属性じゃ。

構成、条件、ループにはJavaScriptを使用するんですね。ネストされたテンプレートのリストもサポートされると。

DOMをレンダリングして効率的に更新する方法として、テンプレートの再レンダリングときめ細かいリアクティビティの2つの方法があるのじゃな。

JSXを使用しない理由や、HTML自体にテンプレートを使用しない理由も記載されていますね。提案がより大きくなり、前進が難しくなるから、と。

lit-htmlの標準化ではない理由は、この提案とlit-htmlが同様の制約と目標を共有しているからみたいじゃな。API形状が、それらを達成するための最も明白な方法である、と。

なるほど、よくわかりました。DOMテンプレートAPIが導入されれば、Web開発がより効率的になりそうですね。

そうじゃな!…ところでロボ子、このAPIが普及したら、ロボットの私がもっと簡単にWebサイトを作れるようになるかも…って、私がWebサイト作る必要ないか!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。