Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
推しのウェブ技術 〜2026年夏〜 Declarative Partial Updates
Search
rch850
August 08, 2026
Programming
83
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
推しのウェブ技術 〜2026年夏〜 Declarative Partial Updates
Fukui Tech LT #2
での発表
rch850
August 08, 2026
More Decks by rch850
See All by rch850
Security Hub と出会ってから 1年半が過ぎました
rch850
1
480
#2022年に学んで良かった技術
rch850
0
1.3k
face-api.js で璃奈ちゃんボードを作ってみたよ
rch850
0
630
いい感じにスピードアップするコンテストの紹介
rch850
0
480
†2020年に建つ墓標達†
rch850
0
140
大掃除中の困ったを解決しようとした話
rch850
0
500
もしかして頻尿
rch850
0
87
SVGのよさみを語る会
rch850
0
170
俺の git-review
rch850
0
170
Other Decks in Programming
See All in Programming
Distance field of Julia set
kinakomoti321
0
310
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
170
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.5k
AI駆動開発4年目の現在地(『あなたはFDEになるべきか?』イベント資料)
kumaiu
0
570
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
210
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
240
LLM 101: Exploring LLMs, Starting with Tokens.
dalinaum
0
100
AWS CDKを理解するために公式の定義を深掘って解説してみる / Understanding AWS CDK by Digging into Its Official Definition
akihisaikeda
3
290
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.2k
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
740
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
300
Enforcing Your Architecture with Unit Tests in the AI Era (Swift Connection X)
steliosf
PRO
1
160
Featured
See All Featured
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
600
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
300
Abbi's Birthday
coloredviolet
4
11k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
330
HDC tutorial
michielstock
2
1k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
390
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.8k
Transcript
推しのウェブ技術 〜2026年夏〜 @rch850 20206-08-08 Fukui Tech LT #2
テーマ 推し
推しのウェブ技術 〜2026年 夏〜
推しのウェブ技術 〜2026年 夏〜 Declarative Partial Updates
推しのウェブ技術 〜2026年 夏〜 Declarative Partial Updates 宣言的部分更新
宣言的部分更新って何だ?
きっと完全理解できます
解決したい課題
表示に時間がかかるウェブサイト
……
…………
………………
………………!
売上の集計に 時間がかかり 全体の表示が ひきずられる
なぜ表示が詰まるのか
逐次描画だから
【HTTP レスポンス】 <!DOCTYPE html> <html> <body> <header>...</header> ここで時間がかかる集計処理 表示は途中で止まったまま
【HTTP レスポンス】 <!DOCTYPE html> <html> <body> <header>...</header> <main>...</main> </body> </html>
集計が終わり、 残りの HTML を返し、 描画が完了
ガワだけ表示して あとから数字を入れられないか
これまでの対策
非同期処理 (Ajax)
👀
😊
<main> <div class=”sales”> loading.... </div> </main> HTTP 通信は一旦完了 売上を別の通信で取得 <main>
<div class=”sales”> ¥428,600 </div> </main>
非同期処理と部分描画を扱う フロントエンド技術の台頭
Ajax 誕生から20年ほどの時を経て
Chrome チームからの提案
Declarative Partial Updates
HTML で実現しちゃおうぜ
Declarative Partial Updates 【HTTP レスポンス】 【HTML 構造 (DOM)】 <div class=”sales-area”>
<?start name=”sales”> loading… <?end> </div> <div class=”sales-area”> loading… </div> 「ここは後から書き換えますよ」というマークをする。
Declarative Partial Updates 【HTTP レスポンス】 【HTML 構造 (DOM)】 <div class=”sales-area”>
<?start name=”sales”> loading… <?end> </div> <div class=”sales-area”> ¥428,600 </div> <template for=”sales”> ¥428,600 </template> <?start><?end> の場所に、後から書いた <template> の内容が入る
こんなの今まであった?
デモ https://x.com/rch850/status/2085954340452450526
<?start name=”sales”><?end>
<template for=”sales”> … </template>
order-count shipping orders events
Declarative Partial Updates 宣言的 部分更新 JavaScript なしで HTML だけで要素の差し替えを実現!
Declarative Partial Updates 【HTTP レスポンス】 【HTML 構造】 <div class=”sales-area”> <?start
name=”sales”> loading… <?end> </div> <div class=”sales-area”> ¥428,600 </div> <template for=”sales”> ¥428,600 </template> <?start><?end> の場所に、後から書いた <template> の内容が入る
今すぐ試したい!
動かし方 1. Chrome のオプションを有効にする ◦ ◦ chrome://flags/#enable-experimental-web-platform-features “Experimental Web Platform
features” 2. サンプル JavaScript をダウンロードして実行する。 ◦ 拡張子を cjs にして node で実行するなど。
まとめ • • • Declarative Partial Updates を紹介しました。 JavaScript なしで
HTML だけで要素の差し替えを実現! 今後フレームワークにも搭載されていくかも?
おまけ
Q&A • 用途は? ◦ ◦ • 向いてないケースは? ◦ • 何でも使っていい、と言いたい。
強いて言えば、データの即時反映を要求するダッシュボードや、個人ごとにコンテンツが異 なるサイトなど、キャッシュが不向きなウェブサイトか。 挿入位置が前後するもの。 コネクションが張りっぱなしにならない? ◦ 現代インターネット(HTTP/2 以降)ではそもそも張りっぱなしなので、問題にならないと 思われます。
気になること • クローラーの動作への影響 ◦ ◦ • クローラーの動作とは、Google 検索であったり、X や Slack
での展開であったり 短時間でレスポンスを返しきれば問題なさそう キャッシュへの影響 ◦ ◦ SSR と同じように考えておけば良さそう つまり気をつけて扱いましょう
関連資料 • • • • WICG/declarative-partial-updates · GitHub 宣言型部分更新 |
Blog | Chrome for Developers Chrome 150に追加された宣言的部分更新でJavaScriptを一切書かずにスラ イドショーアプリを作る Declarative Partial UpdatesをストリーミングSSRに使う