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
SharedWorkerを使ったキャッシュでネイティブアプリに負けないユーザー体験を目指す
Search
KAKEHASHI
PRO
October 12, 2026
Technology
650
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SharedWorkerを使ったキャッシュでネイティブアプリに負けないユーザー体験を目指す
フロントエンドカンファレンス関西2026
https://2026.frontend-conf.osaka.jp/
での登壇資料です
KAKEHASHI
PRO
October 12, 2026
More Decks by KAKEHASHI
See All by KAKEHASHI
生成AI時代、PMは事業責任者に進化するともっと面白い〜PMだからこそ事業構造を動かせる時代に〜
kakehashi
PRO
1
1k
Honoが叶える!いつでも降りられるLambdalith
kakehashi
PRO
2
290
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.7k
薬剤師(ドメインエキスパート)と一緒に育てる薬局向けAIアシスタント
kakehashi
PRO
2
300
デザイナーとPdMが自分でデプロイする ― Amplify Hosting の PR プレビューで回す仮説検証
kakehashi
PRO
2
250
人を動かすのは時間ではなく、納得感 〜新任EMが入社3ヶ月、組織を2回変えた話〜
kakehashi
PRO
3
720
クラウド上のデータ復旧で見落としがちな制約: 医療系 SaaS の BCP 設計から得た教訓
kakehashi
PRO
0
5.9k
プロダクトだけじゃない、社内プロセスにおける自動化・省力化ノススメ
kakehashi
PRO
1
6.1k
「軸足」は 固定しなくていい - 熱量と強みで描く、しなやかなキャリアの形
kakehashi
PRO
2
770
Other Decks in Technology
See All in Technology
SLOを阻む不安
sraku2159
0
150
AI秘書と毎日働くのはもう当たり前。開発以外の業務に足りない機能をどう埋める?
minorun365
PRO
4
2k
AX時代の自治体支援リソース再配分と役割分担の再構成:戦略とロードマップ(概要)
sishi2026
0
130
日本AIベンチャーレポート2026
kentarofujii
0
260
AI AgentによるEmbedded SREの取り組み
tgidgd
1
260
AIコーディングエージェント開発_全体像
happysamurai294
0
130
"計画的無茶振り"を通してAIネイティブ世代の新人を育てる
subroh0508
1
130
新卒エンジニア、 介護士になる
ryu1013
1
500
AIエージェント時代、Kaggleにどう取り組むか
takanao
2
420
これだけは抑えておきたい!後悔しない re:Invent の過ごし方 / AWS re:Invent 2026 prestudy
kinunori
2
590
AWSセキュリティで活用するAI機能
cmusudakeisuke
1
380
契約で守るコンパウンドプロダクトのデザインシステム
yug1224
1
1.6k
Featured
See All Featured
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
960
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
Optimising Largest Contentful Paint
csswizardry
37
4k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
290
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
540
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
550
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Amusing Abliteration
ianozsvald
1
370
The Invisible Side of Design
smashingmag
301
52k
The Pragmatic Product Professional
lauravandoore
37
7.5k
Design in an AI World
tapps
1
370
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
380
Transcript
SharedWorkerを使ったキャッシュで ネイティブアプリに負けないユーザー体験を目指す 2026/10/12 Nokogiri@株式会社カケハシ フロントエンドカンファレンス関西2026 ©KAKEHASHI inc.
自己紹介 Nokogiri(@nkgrnkgr) X | Bluesky | Github 株式会社カケハシ ソフトウェアエンジニア(主にフロントエンド) React
/ TypeScript / フロントエンド大好き! 二児の父👶 ポケモン対戦大好き! ©KAKEHASHI inc. 2
会社紹介 株式会社カケハシとは • ヘルステックスタートアップ • 主に調剤薬局向けの業務システムを提供 • クラウド型電子薬歴「Musubi」のほか、複数プ ロダクトを開発・提供し、グループ全体で国内の 薬局の14,000店舗超をカバー
©KAKEHASHI inc. 3
同じデータを複数のタブで取り直している ©KAKEHASHI inc. 4
同じデータを複数のタブで取り直している 薬局のユースケース • 1患者毎に1タブ • 最大1日に200-300名、来局 • 医薬品など数万件、数MB程度のデータ • 丸一日ほぼ変更がない場合がある
• 環境によってはネットワークが細い • 移行元がWindowsネイティブアプリ タブを跨いで1回だけ取得し、使い回せないか ©KAKEHASHI inc. 5
複数タブでデータを使い回す ©KAKEHASHI inc. 6
複数タブでデータを使い回す 使う2つの技術 SharedWorker • 同じオリジンの複数タブで共有できる SSE(Server-Sent Events) • Worker •
タブとは別スレッドで動き、全タブが閉じると 終わる ©KAKEHASHI inc. サーバーからブラウザへ一方向にイベントを 流す HTTP の仕組み • 接続を張りっぱなしにして、更新の通知を受 け取る 7
複数タブでデータを使い回す Workerに1カ所で持ち、全タブで使い回す • タブからWorkerへ取得イベントを 投げる ©KAKEHASHI inc. • Worker内で通信し、Mapで管理 •
待つのは初回の1タブ目だけ • 2タブ目以降通信なしで返す 8
複数タブでデータを使い回す 値が変わればサーバーが知らせる、全タブを閉じるとデータが消える • マスタに変更があればSSEでWorker に通知 • Workerは再取得して、全タブに Broadcast • SSE接続もタブ毎ではなくWorker1本
• 全タブ閉じるとWorkerごと消えるので 後始末のコードがいらない ©KAKEHASHI inc. 9
複数タブでデータを使い回す 検討した他の技術 技術 説明 localStorage タブを閉じても残る。ログアウトやセッション切れで 消す責務が増える。容量上限と同期 API の問題も IndexedDB
同じく残る。消す責務が増える。永続は今回要らない WASM + SQLite 参照中心なので仕組みが過剰 ※似た名前のServiceWorkerはfetchを横取りしてオフライン対応する部品で、用途が違う 全タブ閉じると消えるSharedWorkerの寿命はちょうどいい ©KAKEHASHI inc. 10
まとめ ©KAKEHASHI inc. 11
まとめ SharedWorker+SSEでタブ間のデータ共有とライフサイクル管理が可能 • データ取得をSharedWorkerに一本化 • SharedWorkerが全タブにBroadcastして同期 • 更新通知はSSE経由 • 全タブ閉じるとWorkerごとデータも消える
※今回の発表内容は、実プロダクトで運用している内容ではなくPoCとして検証した内容です。 ブラウザに大きなデータを置くときの選択肢として検討いただけると幸いです。 ©KAKEHASHI inc. 12
We Are Hiring!!! PM EM エンジニア積極採用中 © KAKEHASHI Inc. All
Rights Reserved.