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
Service Workerとブラウザでの通知について
Search
Toshihisa Tomatsu
January 22, 2020
Technology
3
320
Service Workerとブラウザでの通知について
Ehime.js #4の資料です。
https://ehimejs.connpass.com/event/162348/
Toshihisa Tomatsu
January 22, 2020
Tweet
Share
More Decks by Toshihisa Tomatsu
See All by Toshihisa Tomatsu
Service Workerとは、それを使ってできること / what-is-service-worker
10shi10ma
3
1.9k
フロントエンドのエコシステム / Frontend Ecosystem
10shi10ma
8
3.2k
意外に知らないnpmと便利なCLI
10shi10ma
8
2.4k
歴史から学ぶ現代のフロントエンド
10shi10ma
17
11k
サイボウズ フロントエンドエキスパートチームとOSSの管理について
10shi10ma
0
1.1k
大規模フロントエンドの技術的負債と向き合う。
10shi10ma
5
5.9k
Google I/O ’19から見る新しいJavaScript
10shi10ma
5
3.1k
React+Storybook ことはじめ
10shi10ma
8
2.5k
TypeScript入門 〜型のあるモダンなJavaScript〜
10shi10ma
2
760
Other Decks in Technology
See All in Technology
OCI Oracle Database Services新機能アップデート(2025/06-2025/08)
oracle4engineer
PRO
0
180
LLMを搭載したプロダクトの品質保証の模索と学び
qa
1
1.1k
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
230
いま注目のAIエージェントを作ってみよう
supermarimobros
0
370
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
3
200
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
120
測りにくい成果を測る — BtoB SaaSにおける効果検証への挑戦 / Shirokane Kougyou vol 20
sansan_randd
1
130
2025/09/16 仕様駆動開発とAI-DLCが導くAI駆動開発の新フェーズ
masahiro_okamura
0
140
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
10
3.2k
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
360
Claude Code でアプリ開発をオートパイロットにするためのTips集 Zennの場合 / Claude Code Tips in Zenn
wadayusuke
5
2.6k
AIがコード書きすぎ問題にはAIで立ち向かえ
jyoshise
3
860
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
What's in a price? How to price your products and services
michaelherold
246
12k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
The World Runs on Bad Software
bkeepers
PRO
70
11k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Automating Front-end Workflow
addyosmani
1370
200k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Code Review Best Practice
trishagee
71
19k
Docker and Python
trallard
46
3.6k
The Language of Interfaces
destraynor
161
25k
Transcript
4FSWJDF8PSLFSͱ ϒϥβͷ௨ʹ͍ͭͯ &IJNFKT 5PTIJIJTB5PNBUTV
֎দढ़ঘ 5PTIJIJTB5PNBUTV αΠϘζגࣜձࣾ ϑϩϯτΤϯυΤΩεύʔτνʔϜ ۚˠ౦ژˠѪඤ &IJNFKT !UPTIJUPNB !UPTIJ@@UPNB 2
None
࠷ۙɺ௨ΛٻΊΔαΠτ͕ଟ͘ͳ͖ͬͯͨ ▸ αΠτʹΞΫηεͨ͠ޙɺ௨ͷڐՄΛٻΊΔμΠΞϩά͕ग़ͨΒͲ͏͢Δʁ
▸ αΠτʹΞΫηεͨ͠ޙɺ௨ͷڐՄΛٻΊΔμΠΞϩά͕ग़ͨΒͲ͏͢Δʁ ▸ ͱΓ͋͑ͣʮ#MPDLʯ ▸ αʔϏεʹΑͬͯॏཁ ▸ ͦͷαʔϏεΛϝΠϯͰͬͯͳ͍͚Ͳɺ௨͕དྷͨΒݟ͍ͨ ▸ ϦϚΠϯμʔػೳɺλΠϚʔػೳFUD
࠷ۙɺ௨ΛٻΊΔαΠτ͕ଟ͘ͳ͖ͬͯͨ
ϒϥβͰ௨Λग़͢ʹʁ
ϒϥβͰ௨Λग़͢ʹ ▸ ํ๏ ▸ 8FC"1*/PUJpDBUJPO ▸ ํ๏ ▸ 8FC"1*1VTI"1* 4FSWJDF8PSLFS3FHJTUSBUJPOTIPX/PUJpDBUJPO
8FC"1*/PUJpDBUJPO
IUUQTEFWFMPQFSNP[JMMBPSHFO64EPDT8FC"1*OPUJpDBUJPO
ํ๏/PUJpDBUJPO ▸ /PUJpDBUJPOT"1*ͷ/PUJpDBUJPOΠϯλϑΣʔε ▸ σεΫτοϓ௨ͷઃఆදࣔΛՄೳʹ͢Δ ▸ λϒΛΓସ͑ͨΓɺผͷΞϓϦʹҠಈ͍ͯͯ͠0, ▸ ௨Λදࣔ͢ΔʹɺݱࡏͷΦϦδϯʹରͯ͠ڐՄΛಘΔඞཁ͕͋Δ ▸
$ISPNF 'JSFGPY 4BGBSJ
௨ͷڐՄ
௨ͷදࣔ
؆୯
$ISPNF%FW5PPMTͷ$POTPMFͰ؆୯ʹࢼͤΔ ▸ 'JSFGPY$POTPMF͔ΒμΠΞϩάग़ͤͳ͔ͬͨ
ͨͩ͠ɺ/PUJpDBUJPOΛग़ ͢+4Λ࣮ߦ͍ͯ͠ΔϖʔδΛ ։͍͓ͯ͘ඞཁ͕͋Δ
ͭ·ΓɺͦͷϖʔδΛด͡Δ ͱ௨͞Εͳ͍
ϒϥβͰ௨Λग़͢ʹ ▸ ํ๏ ▸ 8FC"1*/PUJpDBUJPO ▸ ํ๏ ▸ 8FC"1*1VTI"1* 4FSWJDF8PSLFS3FHJTUSBUJPOTIPX/PUJpDBUJPO
8FC"1*1VTI"1* 4FSWJDF8PSLFS3FHJTUSBUJPO TIPX/PUJpDBUJPO
IUUQTEFWFMPQFSNP[JMMBPSHFO64EPDT8FC"1*1VTI@"1*
IUUQTEFWFMPQFSNP[JMMBPSHFO64EPDT8FC"1*4FSWJDF8PSLFS3FHJTUSBUJPOTIPX/PUJpDBUJPO
IUUQTEFWFMPQFSNP[JMMBPSHFO64EPDT8FC"1*4FSWJDF8PSLFS3FHJTUSBUJPOTIPX/PUJpDBUJPO
4FSWJDF8PSLFS
4FSWJDF8PSLFS ▸ ҰൠతʹϒϥβͰಈ͘+4ɺ8FCϖʔδͷϥΠϑαΠΫϧͰ࣮ߦ ▸ 4FSWJDF8PSLFS8FCϖʔδͱผʹϒϥβͷόοΫάϥϯυͰಈ࡞ ͢Δ+4ͷ࣮ߦڥ Πϕϯτۦಈ 8FCϖʔδ 4FSWJDF8PSLFS +4
+4 )5.- $44
4FSWJDF8PSLFS͕͋Δͱ ▸ ͜Ε·ͰͰ͖ͳ͔ͬͨ͜ͱ͕ՄೳʹͳΔ ▸ ྫ ▸ ΦϑϥΠϯମݧ ▸ ϓογϡ௨ ▸
όοΫάϥϯυಉظ
4FSWJDF8PSLFS͕͋Δͱ ▸ ͜Ε·ͰͰ͖ͳ͔ͬͨ͜ͱ͕ՄೳʹͳΔ ▸ ྫ ▸ ΦϑϥΠϯମݧ ▸ ϓογϡ௨ ▸
όοΫάϥϯυಉظ ϞόΠϧͬΆ͍ʂ →PWA
Πϕϯτۦಈ 8FCϖʔδ 4FSWJDF8PSLFS αʔόʔ POGFUDI POQVTI POTZOD ΠϕϯτʹԠͯ͡ ॲཧ͢ΔΑ
4FSWJDF8PSLFS͕͋Δͱ ▸ ͜Ε·ͰͰ͖ͳ͔ͬͨ͜ͱ͕ՄೳʹͳΔ ▸ ྫ ▸ ΦϑϥΠϯମݧ ▸ ϓογϡ௨ ▸
όοΫάϥϯυಉظ
Ұൠతͳ8FCϖʔδ 8FCϖʔδ αʔόʔ JOEFYIUNM͍ͩ͘͞ BQQDTT͍ͩ͘͞ NBJOKT͍ͩ͘͞ ʹΞΫηε
8FCϖʔδXJUI4FSWJDF8PSLFS 8FCϖʔδ αʔόʔ JOEFYIUNM͍ͩ͘͞ ʹΞΫηε 4FSWJDF8PSLFS Cache͋Δ͔Βɺ ͔ͦͬͪΒฦ͢Ͷ $BDIF
8FCϖʔδXJUI4FSWJDF8PSLFS 8FCϖʔδ αʔόʔ GPPIUNM͍ͩ͘͞ GPPʹΞΫηε 4FSWJDF8PSLFS Cacheͳ͍͔Β αʔόʔʹϦΫΤετ $BDIF 'FUDI"1*
GPPIUNM
4FSWJDF8PSLFSͰ ΦϑϥΠϯରԠͷ࣮ྫ
JOEFYKT 4FSWJDF8PSLFSͷొ 8FCϖʔδ
TXKT 4FSWJDF8PSLFSͷΠϯετʔϧΩϟογϡ࡞ 4FSWJDF 8PSLFS
TXKT GFUDIΠϕϯτΛΩϟονΩϟογϡ͔Βฦ͢ 4FSWJDF 8PSLFS
4FSWJDF8PSLFS͕͋Δͱ ▸ ͜Ε·ͰͰ͖ͳ͔ͬͨ͜ͱ͕ՄೳʹͳΔ ▸ ྫ ▸ ΦϑϥΠϯମݧ ▸ ϓογϡ௨ ▸
όοΫάϥϯυಉظ
ํ๏1VTI"1* 4FSWJDF8PSLFS3FTJHUSBUJPOTIPX/PUJpDBUJPO ▸ 4FSWJDF8PSLFSΛར༻ͯ͠ϓογϡ௨Λ࣮ݱ ▸ 1VTI4FSWJDF͔Βͷϓογϡ௨Λड৴ͯ͠ɺσεΫτοϓ௨Λදࣔ͢Δ ▸ 4FSWJDF8PSLFSΛ͏ͷͰɺϖʔδΛดͯ͡௨͕Մೳ ▸
$ISPNF'JSFGPY
4FSWJDF8PSLFSΛ͏͜ͱͰ ϓογϡ௨Λ࣮ݱ͢Δ
1VTI"1*ͱ/PUJpDBUJPOT"1*Ͱͷ࣮ 4FSWJDF8PSLFSΛΠϯετʔϧ͢Δ 4FSWJDF8PSLFS3FHJTUSBUJPO 4FSWJDF8PSLFS3FHJTUSBUJPOΦϒδΣΫτ͔Β1VTI.BOBHFSΛऔಘ 1VTI.BOBHFSͷTVCTDSJCFؔͰBQQMJDBUJPO4FSWFS,FZΛ͢ͱϓογϡͷߪಡ Λ։࢝
ʙαʔόʔͰϓογϡαʔϏεʹϝοηʔδΛૹ৴ʙ 4FSWJDF8PSLFSͷPOQVTIͰ1VTI4FSWJDF͔Βͷϓογϡ௨Λड৴ /PUJpDBUJPOT"1*ͷ4FSWJDF8PSLFS3FHJTUSBUJPOTIPX/PUJpDBUJPOͰ௨Λ ग़͢
ϓογϡ௨ͷͬ͘͟ΓΠϝʔδ ຊࣄલʹαʔόʔʹ1VTI4VCTDSJQUJPOΛૹ৴͓ͯ͘͠ 8FCϖʔδ αʔόʔ 4FSWJDF8PSLFS 1VTI4FSWJDF ྫ'$. POQVTI
ΫϥΠΞϯτଆͷ ࣮ͷϙΠϯτ͚ͩൈਮ
JOEFYKT 4FSWJDF8PSLFSͷొ 8FCϖʔδ
JOEFYKT 1VTI.BOBHFSΛऔಘ 8FCϖʔδ
JOEFYKT ϓογϡαʔϏεͷߪಡΛཁٻ 8FCϖʔδ
"QQMJDBUJPO4FSWFS,FZͷ࡞ٴͼ1VTI௨Λ؆୯ʹࢼͤΔ IUUQTXFCQVTIDPEFMBCHMJUDINF
TXKT QVTIΠϕϯτ͕དྷͨΒ௨Λग़͢ 4FSWJDF 8PSLFS
TXKT ௨ΛΫϦοΫͨ࣌͠ͷॲཧ࣮Մೳ 4FSWJDF 8PSLFS
ϖʔδΛดͯ͡௨
αʔόʔଆͷ࣮͕ඞཁͳͷͰେม
·ͱΊ ▸ σεΫτοϓ௨Λग़͢߹ɺ/PUJpDBUJPOT"1*Λ͏ ▸ ϖʔδ͕ดͯͯ͡௨Λग़͢ʹɺ4FSWJDF8PSLFSͷ1VTI"1*ͱΈ߹ Θͤͯ͏ αʔόʔαΠυͷ࣮͕ඞཁ ▸ ϖʔδ͕։͍ͯΔ࣌ʹ௨Λग़͢ͳΒɺ/PUJpDBUJPOT"1*ͷ/PUJpDBUJPO
ΠϯλϑΣʔεΛ͑؆୯ʹग़ͤΔ ▸ ؆୯ʹ௨Λग़͗͢͠ΔͱϢʔβʔʹݏΘΕΔͷͰ͍ํҙ
ৄ͘͠Γ͍ͨਓ ▸ 4FSWJDF8PSLFSͷհc8FC'VOEBNFOUBMT ▸ IUUQTEFWFMPQFSTHPPHMFDPNXFCGVOEBNFOUBMT QSJNFSTTFSWJDFXPSLFST IMKB ▸ 8FC1VTIΛʢͪΐͬͱʣৄ͘͠ղઆ͢ΔGVLVPLBQXB ▸
IUUQTTQFBLFSEFDLDPNQJSPTJLJDLXFCQVTIXPUJZPUVUP YJBOHTJLVKJFTIVPTVSVOVNCFSGVLVPLBQXB