Slide 1

Slide 1 text

今さら聞けない PWA Gunma.web #38 Gunma.web #38 @kanayannet @kanayannet

Slide 2

Slide 2 text

PWA とは

Slide 3

Slide 3 text

PWA とは プログレッシブウェブアプリの略 ネイティブアプリに近い動きをもたらすウェブアプ リのこと

Slide 4

Slide 4 text

PWA を構成するもの

Slide 5

Slide 5 text

PWA を構成するもの 安全なコンテキスト manifest le service worker

Slide 6

Slide 6 text

安全なコンテキスト localhost か https

Slide 7

Slide 7 text

理由 service worker ( 後述) を install 出来ないため

Slide 8

Slide 8 text

localhost? ⾃分の端末でテストする

Slide 9

Slide 9 text

グローバルに公開するに はhttps

Slide 10

Slide 10 text

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" }

Slide 11

Slide 11 text

service worker 記述する⾔語: JS JS だけど制約が⾊々ある 例: dom にアクセスできない o ine で表⽰可能などnative アプリっぽい挙動を可 能にする web のJS とは全く異なる制御をする

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

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); }); }

Slide 14

Slide 14 text

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); });

Slide 15

Slide 15 text

少しだけデモを⾒せま す。 https://pwa-gunmaweb-e6457.web.app/

Slide 16

Slide 16 text

参考 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

Slide 17

Slide 17 text

まとめ 今回は最低限の実装 最低限の実装でここまで出来る o ine 対応などもあるが、今回は時間over どっか でハンズオンやりたい。 push noti cation もあるが、時間over のためここま で

Slide 18

Slide 18 text

ご清聴ありが とうございま した。

Slide 19

Slide 19 text

質疑応答 実は PWA の事を解りやすく解説する練習のために やりました。 技術的なところもそうですが... ここ解りづらい的な ツッコミも歓迎です。