Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
これからのウェブの話をしよう – あるいは、ServiceWorkerとPWAで変わるフロント...
Search
Edward Fox
February 23, 2018
Technology
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
これからのウェブの話をしよう – あるいは、ServiceWorkerとPWAで変わるフロントエンドとモバイル開発について
20180223 @社内LT会
Edward Fox
February 23, 2018
More Decks by Edward Fox
See All by Edward Fox
Priorityを制するものはローディングを制す
edwardkenfox
4
810
Lambda@Edgeを利用したサードパーティJavaScriptのカナリアリリース / Canary release using Lamdba@Edge
edwardkenfox
0
140
AWS re:Invent 2019 / Hackathon for Good 参加録
edwardkenfox
2
630
Repro basketball club
edwardkenfox
0
290
Introduction to UX Optimizer
edwardkenfox
0
150
フロントエンド開発の落とし穴 / Fallacies of Client Side Programming (2019ver)
edwardkenfox
0
370
僕とprototypeとJSONで / Me and prototype down by the JSON
edwardkenfox
0
180
クライアントサイド開発の落とし穴 / Fallacies of Client Side Programming
edwardkenfox
0
520
Beacon API ことはじめ 〜そしてkeepalive fetchへ〜 / Beacon API The Basics
edwardkenfox
0
1.2k
Other Decks in Technology
See All in Technology
CDKで書くECSのベストプラクティス、 改めて考え直す2026 #cdkconf2026
makies
3
780
実践!既存 Project への AI-Driven Development 適用〜 一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
0
220
個人開発で育てる「大規模設計の苗床」 - AI時代の1人開発から始める業務への知識接続 / The Seedbed for Large-Scale Design - From AI-Era Solo Projects to Professional Knowledge
bitkey
PRO
1
280
最適な自走を最小限の支援で — M&Aで拡大する組織で少人数SREが挑んだ1年 / SRE NEXT 2026
genda
0
1.5k
AI Coding Agent時代のcdk-nagガードレール 〜組織ルールを強制CIで守り抜く設計の挑戦〜
mhrtech
3
410
あなたの『Site』はどこですか? — xREという考え方
miyamu
0
1.2k
ruby.wasmとPicoRuby.wasmに対応した仮想DOMライブラリを作ってる話 #kaigieffect_kaigi
sue445
PRO
0
150
AI Agent SaaS を支える自社仮想化基盤への挑戦と実運用 / ai-agent-saas-virtualization
flatt_security
3
4.1k
穢れた技術選定について
watany
17
5.5k
LLMやAIエージェントをソフトウェアに組み込むプラクティス
shibuiwilliam
2
420
知らん間に、回ってる
ming_ayami
0
720
ZOZOTOWNの進化と信頼性を両立する負荷試験
zozotech
PRO
2
190
Featured
See All Featured
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
350
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
730
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
610
Ethics towards AI in product and experience design
skipperchong
2
330
Unsuck your backbone
ammeep
672
58k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.4k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
180
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
340
The untapped power of vector embeddings
frankvandijk
2
1.8k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
エンジニアに許された特別な時間の終わり
watany
108
250k
Transcript
͜Ε͔ΒͷΣϒͷ Λ͠Α͏ ͋Δ͍ɺServiceWorkerͱPWAͰมΘΔ ϑϩϯτΤϯυͱϞόΠϧ։ൃʹ͍ͭͯ Edward Fox 2018/02/23 @Repro Weekly MTG
@edwardkenfox Edward Fox ɾΤϯδχΞ@Reproגࣜձࣾ ɾʑͷํ͔Βདྷ·ͨ͠ ɾRuby, JavaScript, AWS ɾϒϥβٕज़શൠ, PWA,
Vue.js
TOC 1. ServiceWorkerͱ 2. PWAͱ 3. Կ͕ʢ୭͕ʣخ͍͠ͷ͔ 4. ͜Ε͔ΒԿ͕ى͖Δͷ͔
1. ServiceWorkerͱ
ϒϥβͷUIεϨου͔Β ಠཱͯ͠ಈ͘ ϩʔΧϧϓϩΩγ
ɾUIεϨου͔ΒͷωοτϫʔΫϦ ΫΤετΛϓϩΩγͰ͖Δ ɾlocalStorageIndexedDBͱผͷ ΩϟογϡετϨʔδΛར༻Մೳ ɾΩϟογϡ͔ΒϨεϙϯεΛ ฦͨ͠ΓɺϨεϙϯεΛվ᜵Ͱ͖Δ ɾΦϑϥΠϯ࣌ಈ࡞͢Δ
σϞ http://127.0.0.1:8889/
2. PWAͱ
Progressive Web Applications
ServiceWorkerͳͲͷ ઌਐతͳϒϥβAPIΛ͍ ༏ΕͨϢʔβʔମݧΛ ఏڙ͢ΔΞϓϦέʔγϣϯ
※ ಛఆͷٕज़༷ɺ ϑϨʔϜϫʔΫΛࢦ͢ ༻ޠͰͳ͍
ɾΦϑϥΠϯରԠ ɾϓογϡ௨ ɾϗʔϜεΫϦʔϯʹՃ ͳͲϞόΠϧΞϓϦʹଘࡏ ͍ͯͨ͠UXΛΣϒͰ ఏڙ͠Α͏ɺͱ͍͏ಈ͖
༨ஊ
Σϒϓογϡ ݏΘΕ͗͢
None
3. Կ͕ʢ୭͕ʣخ͍͠ͷ͔
3ͭͷొਓ
ɾPWAΛਪਐ͢Δاۀ ɾαʔϏεఏڙऀ ɾΤϯυϢʔβʔ
ͦΕͧΕͷϝϦοτΛ ݟͯΈΔ
PWAΛਪਐ͢Δاۀͷࢹ ɾ༏ΕͨϢʔβʔମݧ ɾΞϓϦˠΣϒͷ༳Γ͠ => Σϒࠂ૿ʁ
αʔϏεఏڙऀͷࢹ ɾࣗ༝ʹϦϦʔεͰ͖Δ => ϦδΣΫτʹΑΔڪා࣏ ͔Βͷ٫ => PDCAߴԽ
※PWAԽ͞ΕͨαʔϏεͷ தͷਓվળhotfix͕ ͙͢ϦϦʔεͰ͖Δͷ͕ ϚΈͱݴͬͯ·ͨ͠
ΤϯυϢʔβʔͷࢹ ɾUXʹมԽͳ͍ʢ͍·ͷͱ͜Ζʣ ɾΠϯετʔϧʗΞοϓσʔτ͕ෆ ཁʢ˺ΪΨઅʁʣ
4. ͜Ε͔ΒԿ͕ى͖Δͷ͔
4.1. ΣϒͷਐԽͷૅͱͳΔ
ServiceWorker + Gamepad API + WebAssembly => େنϒϥβήʔϜ ʢΦϑϥΠϯରԠʣ
ServiceWorker + Geolocation API, navigator.bluetooth, navigator.getBattery() & etc. => ϞόΠϧΛओͱͨ͠
৽͍͠λΠϓͷαʔϏε
Web Components ES Modules Payment Request API QUIC ͳͲͷ৽͍ٕ͠ज़ͱͷ γφδʔ
ϢʔβʔͷՄॲ࣌ؒΛ ϞόΠϧͷྖҬͷதͰ ͍͔ʹୣ͏͔͕େࣄͰ͋Γٕज़ ࣮ॏཁͰͳ͍ => ϞόΠϧΛओͱͨ͠ ΣϒαʔϏε͕ΕΔ͜ͱ͕ ֨ஈʹ૿͑Δ
4.2. ࠾༻ઓུ͕มΘΔ
ωΠςΟϒΞϓϦ ↓ ϋΠϒϦουΞϓϦ ↓ React Native ↓ PWA
JavaScriptΤϯδχΞͷ धཁ⚽⚽
·ͱΊ
ɾServiceWorker = ϩʔΧϧϓϩΩ γ ɾPWAͷԸܙUXʹඇͣɺࣗ༝ͳϦ Ϧʔεʹͦ͋͜Γ ɾاۀͷ։ൃɾվળɾ࠾༻ઓུ͕ม ΘΔ ɾΣϒ͕ՃతʹਐԽ͢Δະདྷ
͋Γ͕ͱ͏͍͟͝·ͨ͠