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
自社サイトをPWA化した話
Search
KeitaroOkamura
September 20, 2018
Technology
0
120
自社サイトをPWA化した話
KeitaroOkamura
September 20, 2018
Tweet
Share
More Decks by KeitaroOkamura
See All by KeitaroOkamura
Suspenseのユースケースを探る
keitarookamura
1
290
ヤギでもわかるソフトウェアテスト
keitarookamura
0
130
ヤギでもわかるオブジェクト指向UIデザイン
keitarookamura
3
300
ヤギでもわかるGit入門
keitarookamura
1
250
ユースケースから考えるユーザビリティ
keitarookamura
1
210
サクッと簡単!お手軽 Scaffold
keitarookamura
1
290
CSS Animations vs WAAPI
keitarookamura
0
510
マイクロインタラクションから考えるアニメーション
keitarookamura
1
270
Vue.js+AtomicDesign
keitarookamura
2
2.7k
Other Decks in Technology
See All in Technology
Wasmの気になる最新情報
askua
0
180
生成AIを安心して活用するために──「情報セキュリティガイドライン」策定とポイント
gree_tech
PRO
1
350
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
140
様々なファイルシステム
sat
PRO
0
230
Dify on AWS 環境構築手順
yosse95ai
0
120
あなたの知らない Linuxカーネル脆弱性の世界
recruitengineers
PRO
3
150
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
Digitization部 紹介資料
sansan33
PRO
1
5.7k
GraphRAG グラフDBを使ったLLM生成(自作漫画DBを用いた具体例を用いて)
seaturt1e
1
120
Behind Postgres 18: The People, the Code, & the Invisible Work | Claire Giordano | PGConfEU 2025
clairegiordano
0
110
From Natural Language to K8s Operations: The MCP Architecture and Practice of kubectl-ai
appleboy
0
170
SQLAlchemy の select(User).where(User.id =="123") を理解してみる/sqlalchemy deep dive
3l4l5
3
310
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
880
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
YesSQL, Process and Tooling at Scale
rocio
173
15k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
The World Runs on Bad Software
bkeepers
PRO
72
11k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Designing Experiences People Love
moore
142
24k
Facilitating Awesome Meetings
lara
57
6.6k
Transcript
1 ࣗࣾαΠτΛ 18"Խͨ͠ ࣾ-5େձ
2 1SPGJMF ໊લɿQFUFS झຯɿΓʢΤΪϯάʣ
3 ✨18"ରԠ͠·ͨ͠✨
4 ͳͥ18"ରԠͨ͠ͷ͔ʁ ͱ͋ΔҊ݅Ͱ18"։ൃͷ͕ڍ͕Γɺ ͦͷௐࠪͷͨΊ✏ ࣗࣾαΠτΛ18"Խ͢Ε 18"ؔ࿈ͷ͓ࣄ͕ ࠓޙೖͬͯ͘Δ͔ɾɾɾʁ✨
5 ͦͦɺࣗͷखฑͷΑ͏ʹ ͍ͬͯ·͕͢ɾɾɾ
6 18"ରԠͨ͠ͷ 8BTBCJ͞Μ ✨ ϨϏϡͨ͠ਓʢসʣ
7 18"ͷ։ൃͱ͔ͨ͜͠ͱͳ͍͊ɾɾɾ Α͠ɺϨϏϡ͍ͭͰʹษڧ͠Αʂ
8 18"ͬͯͳʹʁ ωΠςΟϒΞϓϦͷΑ͏ͳ69Λ ϒϥβ"1*ʹΑͬͯ ఏڙ͢ΔΈ
9 ʘ͔ΜͨΜ̏εςοϓʗ NBOJGFTUKTPO Λஔ͘ 4FSWJDF8PSLFS εΫϦϓτ࡞ 4FSWJDF8PSLFS ʹొ
10 4FSWJDF8PSLFSͷϥΠϑαΠΫϧ Λཧղ͢Εɺ ܅18"ΤϯδχΞͩʂʢۃʣ
11 4FSWJDF8PSLFS ͬͯͳʹʁ ϒϥβ͕8FCϖʔδͱผʹ όοΫάϥϯυͰ࣮ߦ͢Δ +BWB4DSJQUڥ
12 ΫϥΠΞϯτ αʔόʔ HTTP request response
13 ΫϥΠΞϯτ αʔόʔ 4FSWJDF8PSLFS
14 ΫϥΠΞϯτ αʔόʔ 4FSWJDF8PSLFS Cache Storage IndexedDB σʔλΛอଘΩϟογϡ
15 4FSWJDF8PSLFSͷ ϥΠϑαΠΫϧ
16 ΫϥΠΞϯτ 4FSWJDF8PSLFS 4FSWJDF8PSLFSʹొ 4FSWJDF8PSLFSΛ͏ʹɺ·ͣొ͢Δඞཁ͕͋Γ·͢ɻ register
17 ΫϥΠΞϯτ 4FSWJDF8PSLFS ొ͞ΕΔͱ࣍ʹ4FSWJDF8PSLFS͕ϒϥ βڥʹΠϯετʔϧ͞ΕɺҰछͷৗறϓ ϩάϥϜͱͳΓ·͢ɻ register installing
18 ΫϥΠΞϯτ 4FSWJDF8PSLFS 4FSWJDF8PSLFS͕ଘࡏ͠ͳ͚ΕJOTUBMMJOH ঢ়ଶͷ͋ͱ͙͢ʹɺBDUJWBUFঢ়ଶʹͳΔ͕ɺ طʹ4FSWJDF8PSLFS͕ଘࡏ͢Δ߹ɺ XBJUJOHঢ়ଶʹҠߦ͠·͢ register installing waiting
19 ΫϥΠΞϯτ 4FSWJDF8PSLFS 4FSWJDF8PSLFS͕ར༻Ͱ͖Δ४උ͕ͬͨঢ় ଶ͕BDUJWBUF ͔͠͠ɺ࣮ࡍʹΫϥΠΞϯτΛίϯτϩʔϧ͢ Δ͜ͱͰ͖ͳ͍ register installing waiting
activate
20 ΫϥΠΞϯτ 4FSWJDF8PSLFS BDUJWBUFঢ়ଶͰػͯ͠ɺ ࣮֬ʹ҆શͳ࣌ʢը໘͕͏Ұߋ৽͞Εͨ࣌ʣʹ DPOUSPMMFS ʹͳΔ DPOUSPMMFSʹͳͬͯॳΊͯωοτϫʔΫϦΫΤετΛίϯτϩʔ ϧ͢Δ͜ͱ͕Ͱ͖Δ register
installing waiting activate controller
21 ϨϏϡͰࠔͬͨ͜ͱ 1. IUUQT͔MPDBMIPTU্Ͱ͔͠ಈ͔ͳ͍ 2. ΊͬͪΌΩϟογϡ͞ΕΔ͠ɺ σόοΫͬͯͲ͏ͨ͠Β͍͍ΜͩΖ͏
22 1. ʹؔͯ͠ Vagrant ʹ port forwarding ͱ͍͏ͷ͕͋Γɺ localhost ʹΞΫηε͢ΔͱɺԾ
ڥʹΞΫηεͯ͘͠ΕΔͷͰɺ ϩʔΧϧ։ൃڥͰ PWA Λ֬ೝͰ͖ΔΑ͏ʹͨ͠
23 2. ʹؔͯ͠ Chrome DevTools ͷ৽͍͠ [Application] ύωϧΛ༻͠ ͯ Service
Worker ͷσόοά ΩϟογϡͷௐࠪΛߦ͍·͠ ͨ
24 ·ͱΊ
25 ࠓճͷ18"Խʹ͍ͭͯ طଘͷৼΔ͍Λकͬͨ··ߴԽ͢Δ 4FSWJDF8PSLFSͷ͍ํ
26 ࠓޙͷ18"ʹ͍ͭͯ 4FSWJDF8PSLFSͰ͔͠࠶ݱͰ͖ͳ͍ػೳͳͲɺ ༷ʑͳ͍ํ͕͋Γ·͢ ࠓͷ͏ͪʹܦݧΛஷΊ͓͚ͯɾɾɾ ࠓޙɺϏδωε͚αʔϏεʹར༻͢Δ͜ͱ͕ Ͱ͖Δ͔͠Ε·ͤΜ