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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
rch850
August 08, 2026
Programming
75
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
450
#2022年に学んで良かった技術
rch850
0
1.3k
face-api.js で璃奈ちゃんボードを作ってみたよ
rch850
0
630
いい感じにスピードアップするコンテストの紹介
rch850
0
480
†2020年に建つ墓標達†
rch850
0
130
大掃除中の困ったを解決しようとした話
rch850
0
500
もしかして頻尿
rch850
0
83
SVGのよさみを語る会
rch850
0
160
俺の git-review
rch850
0
160
Other Decks in Programming
See All in Programming
Agents on Rails - Rails at Scale 2026
irinanazarova
0
560
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
610
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
phperだってパンチカードでコーディングしたい
o0h
PRO
0
340
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
610
contenteditable と日本語入力に向き合う
colorful12
0
200
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
0
1.5k
気持ちぃ〜角丸 Squircle
ryu1013
0
310
パスワード再設定メールのURLについて知っておこう
uyuki234
0
160
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
1.1k
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
2
350
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
460
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
280
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
890
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に使う