Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Web業界2018クイズ&PWAで遊んでみた!

kurita
December 20, 2018

 Web業界2018クイズ&PWAで遊んでみた!

PWA(Progressive Web Apps) 進歩的な/革新的な Web アプリ
というけど実際どうなのを考えてみた結果
実際に作って遊んでみた!
https://memberscareer.connpass.com/event/110822/

kurita

December 20, 2018
Tweet

More Decks by kurita

Other Decks in Technology

Transcript

  1. 2

  2. 3

  3. 4

  4. 5

  5. 6

  6. 7

  7. 8

  8. 9

  9. 10

  10. 11

  11. 12

  12. 13

  13. 14

  14. 15

  15. 16

  16. 17

  17. 18

  18. 19

  19. 20

  20. 21

  21. 22

  22. 23

  23. 24

  24. 25 https://goo.gl/DSvQnH Web Creators MeetUp クリスマス&忘年会ビアバッシュLT会(MC Open Lab #7) 2018/12/20(木)

    19:30 イベント当日に実際に使ったスライドPWAは 左図QRコードに公開中です(2018年12月20日時点) PCでは「→」キー、SPでは「右スワイプ」でスライドします
  25. 30 PWA のすごい 1. 「ホームに追加」ボタンを表示できる 2. 起動時のスプラッシュ画面を表示できる 3. ネイティブアプリのような全画面表示ができる 4.

    インストール不要なアプリ 5. ページの読み込みが早いWebページ 6. オフラインでも動作する 7. プッシュ通知を受信できる
  26. 41

  27. 46 1.HTML本体 1. index.html 2. manifest.json 3. script.js 4. service-worker.js

    5. icon-192.png <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <meta name="robots" content="noindex,nofollow"> <meta name="viewport" content="width=device-width,initial-scale=1.0"> <title>PWAテスト1</title> <link rel="manifest" href="manifest.json"> <link rel="stylesheet" href="style.css"> <script src="script.js"></script> </head> <body class="conent-body"> <h1>PWAで遊んでみた!</h1> <p>~中略~</p> </body> </html>
  28. 47 2.manifestファイル 1. index.html 2. manifest.json 3. script.js 4. service-worker.js

    5. icon-192.png { "short_name": "pwa_test", "name": "PWA_TEST", "icons": [ { "src": "icon-192.png", "sizes": "192x192", "type": "image/png" } ], "start_url": "/quiz/002/", "display": "fullscreen", "theme_color": "#00A862", "background_color": "#FFFFFF" }
  29. 48 3.scriptファイル 1. index.html 2. manifest.json 3. script.js 4. service-worker.js

    5. icon-192.png // サービスワーカーの登録 window.addEventListener('load', function() { if ('serviceWorker' in navigator) { navigator.serviceWorker.register('service-worker.js') .then(function(registration) { console.log('serviceWorker registed.'); }).catch(function(error) { console.warn('serviceWorker error.', error); }) ; } });
  30. 49 4.service-workerファイル 1. index.html 2. manifest.json 3. script.js 4. service-worker.js

    5. icon-192.png self.addEventListener('fetch', function(event) { });
  31. 53