$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
これからのウェブの話をしよう – あるいは、ServiceWorkerとPWAで変わるフロント...
Search
Edward Fox
February 23, 2018
Technology
0
130
これからのウェブの話をしよう – あるいは、ServiceWorkerとPWAで変わるフロントエンドとモバイル開発について
20180223 @社内LT会
Edward Fox
February 23, 2018
Tweet
Share
More Decks by Edward Fox
See All by Edward Fox
Priorityを制するものはローディングを制す
edwardkenfox
4
760
Lambda@Edgeを利用したサードパーティJavaScriptのカナリアリリース / Canary release using Lamdba@Edge
edwardkenfox
0
110
AWS re:Invent 2019 / Hackathon for Good 参加録
edwardkenfox
2
590
Repro basketball club
edwardkenfox
0
260
Introduction to UX Optimizer
edwardkenfox
0
120
フロントエンド開発の落とし穴 / Fallacies of Client Side Programming (2019ver)
edwardkenfox
0
340
僕とprototypeとJSONで / Me and prototype down by the JSON
edwardkenfox
0
150
クライアントサイド開発の落とし穴 / Fallacies of Client Side Programming
edwardkenfox
0
460
Beacon API ことはじめ 〜そしてkeepalive fetchへ〜 / Beacon API The Basics
edwardkenfox
0
1.2k
Other Decks in Technology
See All in Technology
M&Aで拡大し続けるGENDAのデータ活用を促すためのDatabricks権限管理 / AEON TECH HUB #22
genda
0
230
まだ間に合う! Agentic AI on AWSの現在地をやさしく一挙おさらい
minorun365
17
2.5k
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
120
Bedrock AgentCore Memoryの新機能 (Episode) を試してみた / try Bedrock AgentCore Memory Episodic functionarity
hoshi7_n
2
1.7k
[Data & AI Summit '25 Fall] AIでデータ活用を進化させる!Google Cloudで作るデータ活用の未来
kirimaru
0
3.6k
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
490
LayerX QA Night#1
koyaman2
0
250
Knowledge Work の AI Backend
kworkdev
PRO
0
200
Lookerで実現するセキュアな外部データ提供
zozotech
PRO
0
200
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
110
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
Entity Framework Core におけるIN句クエリ最適化について
htkym
0
110
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
0
300
Mobile First: as difficult as doing things right
swwweet
225
10k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.7k
Navigating Weather and Climate Data
rabernat
0
50
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
110
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
88
sira's awesome portfolio website redesign presentation
elsirapls
0
89
Being A Developer After 40
akosma
91
590k
What the history of the web can teach us about the future of AI
inesmontani
PRO
0
370
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
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ʹඇͣɺࣗ༝ͳϦ Ϧʔεʹͦ͋͜Γ ɾاۀͷ։ൃɾվળɾ࠾༻ઓུ͕ม ΘΔ ɾΣϒ͕ՃతʹਐԽ͢Δະདྷ
͋Γ͕ͱ͏͍͟͝·ͨ͠