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
2k
モバイルネイティブアプリに代わる存在!?初めての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.5k
Other Decks in Programming
See All in Programming
menu基盤チームによるGoogle Cloudの活用事例~Application Integration, Cloud Tasks編~
yoshifumi_ishikura
0
110
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
640
第5回日本眼科AI学会総会_AIコンテスト_3位解法
neilsaw
0
170
layerx_20241129.pdf
kyoheig3
2
290
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
330
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
260
MCP with Cloudflare Workers
yusukebe
2
220
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
140
HTTP compression in PHP and Symfony apps
dunglas
2
1.7k
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
630
Mermaid x AST x 生成AI = コードとドキュメントの完全同期への道
shibuyamizuho
0
160
StarlingMonkeyを触ってみた話 - 2024冬
syumai
3
270
Featured
See All Featured
Thoughts on Productivity
jonyablonski
67
4.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Code Reviewing Like a Champion
maltzj
520
39k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
160
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
It's Worth the Effort
3n
183
28k
Embracing the Ebb and Flow
colly
84
4.5k
Optimising Largest Contentful Paint
csswizardry
33
3k
The World Runs on Bad Software
bkeepers
PRO
65
11k
The Pragmatic Product Professional
lauravandoore
32
6.3k
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͍͍Ͷʂ
ͦΜͳʹ͘͠ͳͦ͞͏
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ