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
kanayannet
August 01, 2020
Programming
0
950
今更聞けないPWA
PWAの基本となる部分をLTしました。(Gunma.web #38)
kanayannet
August 01, 2020
Tweet
Share
More Decks by kanayannet
See All by kanayannet
生成AIの使いどころ
kanayannet
0
110
github copilot と 心理的安全性
kanayannet
0
150
FW と ライブラリ の考え方
kanayannet
0
200
TDDと今まで
kanayannet
0
520
個人開発 稼げなくてもいいアプリ
kanayannet
0
500
システムの堅牢性
kanayannet
0
270
Agile的学習方法
kanayannet
0
260
GUIをエンジニアが考える
kanayannet
0
230
http2http3
kanayannet
0
180
Other Decks in Programming
See All in Programming
S3静的ホスティング+Next.js静的エクスポート で格安webアプリ構築
iharuoru
0
220
remix + cloudflare workers (DO) docker上でいい感じに開発する
yoshidatomoaki
0
130
技術選定を未来に繋いで活用していく
sakito
3
100
Signal-Based Data FetchingWith the New httpResource
manfredsteyer
PRO
0
160
スモールスタートで始めるためのLambda×モノリス
akihisaikeda
2
180
リアルタイムレイトレーシング + ニューラルレンダリング簡単紹介 / Real-Time Ray Tracing & Neural Rendering: A Quick Introduction (2025)
shocker_0x15
1
290
[NG India] Event-Based State Management with NgRx SignalStore
markostanimirovic
1
110
Day0 初心者向けワークショップ実践!ソフトウェアテストの第一歩
satohiroyuki
0
830
AHC 044 混合整数計画ソルバー解法
kiri8128
0
330
Going Structural with Named Tuples
bishabosha
0
200
Unlock the Potential of Swift Code Generation
rockname
0
240
SEAL - Dive into the sea of search engines - Symfony Live Berlin 2025
alexanderschranz
1
130
Featured
See All Featured
Visualization
eitanlees
146
16k
Designing Experiences People Love
moore
141
24k
How STYLIGHT went responsive
nonsquared
99
5.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
13
1.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Navigating Team Friction
lara
184
15k
A better future with KSS
kneath
239
17k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.1k
Optimising Largest Contentful Paint
csswizardry
36
3.2k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.4k
Transcript
今さら聞けない PWA Gunma.web #38 Gunma.web #38 @kanayannet @kanayannet
PWA とは
PWA とは プログレッシブウェブアプリの略 ネイティブアプリに近い動きをもたらすウェブアプ リのこと
PWA を構成するもの
PWA を構成するもの 安全なコンテキスト manifest le service worker
安全なコンテキスト localhost か https
理由 service worker ( 後述) を install 出来ないため
localhost? ⾃分の端末でテストする
グローバルに公開するに はhttps
manifest file { "name": "pwa gunmaweb", "short_name": "pwa-gunmaweb", "icons": [
{ "src": "/icons/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png", "purpose": "maskable" }, { "src": "/icons/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" }
service worker 記述する⾔語: JS JS だけど制約が⾊々ある 例: dom にアクセスできない o
ine で表⽰可能などnative アプリっぽい挙動を可 能にする web のJS とは全く異なる制御をする
None
service worker 読込⽅法 if ('serviceWorker' in navigator) { console.log('service worker
is active'); navigator.serviceWorker.register('/sw.js').then(function (regis // 登録成功 console.log('ServiceWorker registration successful with scop }).catch(function (err) { // 登録失敗 :( console.log('ServiceWorker registration failed: ', err); }); }
service worker 記述例 // self.addEventListener('install', function (e) { console.info('install', e);
}); // self.addEventListener('activate', function (e) { console.info('activate', e); }); // self.addEventListener('fetch', function (e) { console.info('fetch', e); });
少しだけデモを⾒せま す。 https://pwa-gunmaweb-e6457.web.app/
参考 Try PWA MDN google https://www.amazon.co.jp/dp/B07ZV4CPXQ/ https://developer.mozilla.org/ja/docs/Web/API/Ser https://developers.google.com/web/fundamentals
まとめ 今回は最低限の実装 最低限の実装でここまで出来る o ine 対応などもあるが、今回は時間over どっか でハンズオンやりたい。 push noti
cation もあるが、時間over のためここま で
ご清聴ありが とうございま した。
質疑応答 実は PWA の事を解りやすく解説する練習のために やりました。 技術的なところもそうですが... ここ解りづらい的な ツッコミも歓迎です。