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
tsukun
July 08, 2018
Programming
1
2.1k
モバイルネイティブアプリに代わる存在!?初めてのPWA
HTML5 APP CONFERENCE 2018で使用
・PWAと出会ったきっかけ
・PWAとは?
・PWAを作ってみる
tsukun
July 08, 2018
Tweet
Share
More Decks by tsukun
See All by tsukun
PWAって何?
kasanomo
0
2.6k
Other Decks in Programming
See All in Programming
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
1.1k
Benchmark
sysong
0
270
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
240
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
1
130
XSLTで作るBrainfuck処理系
makki_d
0
210
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
highu
0
110
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
1.6k
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
580
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
870
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
400
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
110
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
4
1k
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Done Done
chrislema
184
16k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
For a Future-Friendly Web
brad_frost
179
9.8k
The Cult of Friendly URLs
andyhume
79
6.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
930
Transcript
ϞόΠϧωΠςΟϒΞϓϦʹ มΘΔଘࡏʂʁॳΊͯͷ18" גࣜձࣾιχοΫΨʔσϯຊ࢘
ײ࣭ͪ͜Β http://bit.ly/2J131L2
ࣗݾհ • ຊ ࢘ʢͷͱ ͔ͭ͞ʣ • גࣜձࣾιχοΫΨʔσϯ • ฌݿݝ໌ੴࢢग़ʢ໌ੴͰϦϞʔτۈʣ •
ؒ1/3ΛՈͰա͝͞ͳ͍ • 24ࡀ
ࠓ͍ͨ͜͠ͱ • PWA͍͍Ͷʂ • ࡞ΔͷͦΜͳʹ͘͠ͳ͍
ॳ৺ऀϨϕϧ
ϓϩάϥϛϯάܦݧ ̍ͪΐͬͱ
HTMLͬͯԿʁ Rubyͬͯ͋ͷๅੴͷʁ
ֶ̍ؒश
WebΞϓϦʢͬΆ͍ͷʣ Λ࡞ΕΔΑ͏ʹ
ࣅͨΑ͏ͳϊϦͰ ϞόΠϧΞϓϦ͍͚ΔΖ ʢ҆ʣ
ίʔυผͳͷ…ʂʁ ( ƅЧƅʀ))ŜƄŦŜƄŦ
…͠Β͘໎ɻ
༑ୡʮ̏ͭͱҰؾʹ࡞ΕΔ ํ๏͕͋ΔͰʯ(ʉ㲆ʉ)v
PWAͳΒ…ʁ
PWAͱʁ
Progressive Web App ʢਐาతͳɺֵ৽తͳʣ
ωΠςΟϒΞϓϦͬΆ͍ ΣϒΞϓϦ
None
৽͍ٕ͠ज़͕ͨ͘͞Μ ͱ͍͏Θ͚Ͱͳ͍
ΞϓϦͰͰ͖Δ͜ͱΛ WebͰ࣮ݱՄೳʹ
Կͱ͋Ε৮ͬͯΈΑ͏
Twitter Lite 1. εϚϗͷϒϥβͰTwitterΛ։͘ 2. ʮϗʔϜը໘ʹՃʯ 3. ϗʔϜը໘͔ΒΞΫηεˠεϓϥογϡը໘
Twitter Lite • Push௨ • ΦϑϥΠϯͰͷ༻ • ωΠςΟϒΞϓϦͷػೳͷ΄ͱΜͲΛΧόʔ • ʮϗʔϜʹՃʯόφʔ
ྑͦ͞͏
None
݁ՌʢҎલͷϞόΠϧ൛ͱൺֱʣ • ηογϣϯຖͷϖʔδӾཡ65%↑ • ؼ20%↓ • ߘ75%↑ ϗʔϜը໘͔ΒΞϓϦͬΆ͘͏Α͏ʹͳͬͨ
ָఱϨγϐ 1Ϣʔβʔ͋ͨΓͷPV3.1ഒˢ
ͻΐͬͱ͢Δͱ…ʁ
PWA͍͍Ͷʂ
Ͱ… ৭ʑ໘ष͍Μ͡Όͳ͍ͷʁ
ࢲͰͰ͖ͨ
ͲΕ͘Β͍؆୯͔ʁ
ࠓ͔ΒPWAΛ࡞Δ༷ࢠΛ ͓ݟͤ͠·͢ʂʂʂ
ͱࢥ͚ͬͨͲɺ ා͍ͷͰಈըͰɻ
Progressive Web App Checklist • Google͕ఏএ • PWAͱͯ͠ຬ͖߲ͨ͢ • BaselineͱExemplaryͷ̎ஈ֊
✔ αΠτ͕ HTTPS Ͱఏڙ͞Ε͍ͯΔ͜ͱ ✔ λϒϨοτɾϞόΠϧʹ࠷దԽ͞Ε͍ͯΔ͜ ͱ ✔ ։࢝ͷURLΦϑϥΠϯͰϩʔυͰ͖ Δ͜ͱ
✔ ϗʔϜը໘ʹՃ͢ΔͨΊͷϝλσʔλ͕ఏ ڙ͞Ε͍ͯΔ͜ͱ
✔ 3G ճઢͰߴʹಡΈࠐΊΔ͜ͱ (10 ඵҎ ʹૢ࡞Մೳ) ✔ ΫϩεϒϥβͰಈ͘͜ͱ ✔ ϖʔδભҠ͕ωοτϫʔΫʹΑͬͯϒϩοΫ
͞Ε͍ͯΔΑ͏ʹݟ͑ͳ͍͜ͱ ✔ ͦΕͧΕͷϖʔδ͕ URL Λ࣋ͭ͜ͱ
Lighthouse • Google͕ఏڙ • WebΞϓϦͷ࣭είΞΛࢉग़͢Δπʔϧ • Baselineͷ߲ΛνΣοΫ
None
ࠓճ࡞Δͷ
Service Worker • ϒϥβ͕WebΞϓϦͱผʹόοΫάϥ ϯυͰ࣮ߦ͢ΔεΫϦϓτ • APIͱͷΈ߹ΘͤͰΩϟογϡɺPush௨ͳ ͲΛ࣮ݱ
App Manifest • ΞϓϦࣗͷઃఆϑΝΠϧ • ΞϓϦͷ໊લΞΠίϯΛઃఆ • htmlͰಡΈࠐΈ
͏ͷ • Firebase - BaaSʢࠓճHostingͷΈ༻ʣ • Vue.js - JSϑϨʔϜϫʔΫ •
Vuetify.js - ίϯϙʔωϯτϑϨʔϜϫʔΫʢࠓ ճPWA༻ͷςϯϓϨʔτΛ༻ʣ
'JSFCBTF )PTUJOH 4FSWJDF 8PSLFS 7VFUJGZ "QQ .BOJGFTU 0UIFST ᶃ ᶄ
None
PWA͕Ͱ͖ͨʂ ʢhttps://goo.gl/VhzC5mʣ
̍ʣεϓϥογϡ ̎ʣόφʔʢChromeʣ ̏ʣΦϑϥΠϯ
ͦΜͳʹ͘͠ͳͦ͞͏ ʢ̔Ͱ͜͜·ͰͰ͖ͨʣ
·ͱΊ
PWA͍͍Ͷʂ
ͦΜͳʹ͘͠ͳͦ͞͏
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ