Upgrade to Pro — share decks privately, control downloads, hide ads and more …

宣言型部分更新は何を解決しどこへ向かうのか

Avatar for did0es did0es
October 12, 2026

 宣言型部分更新は何を解決しどこへ向かうのか

フロントエンドカンファレンス関西2026の登壇資料です。

Avatar for did0es

did0es

October 12, 2026

More Decks by did0es

Other Decks in Technology

Transcript

  1. Hirai Shuta | did0es(🗣 ディドス) SWE @ CIU / Next

    Experts (Client) @ CyberAgent, Inc. Representative Director, FEC Association / Lead Organizer, FEC Tokyo More: https://did0.es
  2. ① Web標準におけるDPU 記法 その1 • <template> 要素 ◦ 置き換えコンテンツ •

    <?marker name> 要素 ◦ 処理命令プレースホルダ ◦ XML以前から存在。HTMLではコメント扱いで無視
  3. ① Web標準におけるDPU 記法 その2 • <?start> / <?end> 要素 •

    テンプレート置き換え中に表⽰するコンテンツ⽤の処理命令
  4. ① Web標準におけるDPU 備考 • WICGのProposal • GoogleChromeLabsによるPolyfill • 制限 ◦

    ⼊れ替えや挿⼊はMutationObserverによるものなので HTMLパーサーに関与できない
  5. ① Web標準におけるDPU innerHTML, outerHTML • サニタイズなし • Declarative Shadow DOM(DSD)⾮対応

    • inner:⼦要素 • outer:⾃⾝含めた全体の要素を置き換え
  6. ① Web標準におけるDPU insertAdjacentHTML • サニタイズなし • 指定した位置にDOMノードを挿⼊ ◦ beforebegin(⾃⾝の前) ◦

    afterbegin(最初の⼦要素の前) ◦ beforeend(最後の⼦要素の後) ◦ afterend(⾃⾝の後)
  7. ① Web標準におけるDPU CSSでURLをMatchingする • @navigation (from: --home) { ... }

    • @navigation (to: --about) { ... } • @navigation (between: --home and --about) { ... } • @navigation (at: url("/exact/?a=b")) { ... }
  8. ① Web標準におけるDPU 遷移のイベント的なもので制御 • @navigation (phase: loading) { ... }

    • @navigation (phase: ready) { ... } • @navigation (phase: committed) { ... }
  9. ① Web標準におけるDPU ユーザーのNav関連のアクションのMatching • @navigation (history: navigate) { ... }

    • @navigation (history: reload) { ... } • @navigation (history: traverse) { ... } • @navigation (history: back) { ... } • @navigation (history: forward) { ... }
  10. ② DPUに関連した他の技術 SPAに⽤いられうるWeb標準の例 • DOM Parts API • Web Components

    • Declarative Shadow DOM • moveBefore(DOM API) • signals‧AbortSignal • View Transition API • Popover API, Top Layer API etc...
  11. ② DPUに関連した他の技術 DPUとの組み合わせ⽅を紹介(⭐マークがついたもの) • ⭐ DOM Parts API • Web

    Components • Declarative Shadow DOM • moveBefore(DOM API) • signals‧AbortSignal • ⭐ View Transition API • Popover API, Top Layer API etc...
  12. ② DPUに関連した他の技術 DOM Parts APIの “{{}}” による表現 • 処理命令で “{{}}”

    に対する注釈付け • <template>や動的マークアップ向けAPI以外をカバー