de:code2018の登壇で使用したスライドです。
セッションの内容は、こちらの記事にまるっとまとめてありますのでぜひご覧ください。
https://blogs.msdn.microsoft.com/osamum/2018/07/03/about_pwa/
== 概要 ==
Progressive Web Apps (PWA) は Service Worker に代表される新しい API を複数組み合わせて実現する新しい Web アプリケーションの概念です。PWA は新旧問わず、ブラウザーの能力に応じた最適なユーザー体験を提供し、新しいブラウザーにはこれまでの Web にはなかった、ネイティブアプリのような体験も実装できます。
このセッションでは、PWA の概念と具体的な実装方法、その技術の応用について紹介します。(※本セッションは JavaScript 中級者以上が対象です)
7. Progressive Web Apps を実現する機能
これまでの Web になかった機能
オフラインサポート プッシュ通知 バックグラウンド処理 アイコンの追加
Cache API Push API Background Sync Web App Manifest
Service Worker
Web App Manifest
29. Step 1 : Service Worker の登録
if ( navigator.serviceWorker ) {
} Service Worker がサポートされているか検証
Web コンテンツ側の JS
30. Step 1 : Service Worker の登録
if ( navigator.serviceWorker.controller ) {
console.log('There’s an active service worker');
}
すでに動作している Service Worker があるか検証することも可能
Web コンテンツ側の JS
31. Step 1 : Service Worker の登録
else {
navigator.serviceWorker.register('/sw.js')
.then(function(reg) {
}
Service Worker を登録
Web コンテンツ側の JS
32. Step 1 : Service Worker の登録
.then(function(reg) {
console.log('SW registered for scope',
reg.scope);
});
Promise で結果が返される
Web コンテンツ側の JS
33. Step 1 : Service Worker の登録
if ( navigator.serviceWorker ) {
navigator.serviceWorker.register('/sw.js');
}
Web コンテンツ側の JS
Service Worker 登録するだけならシンプルに書ける
63. Windows Store App の価値
• デベロッパーセンターの分析
• アプリ内課金
• プロモーションの機会
• データストレージの上限がない
• Service Workers
• WinRT API へのアクセス
Progressive Web Apps をさらに Progressive
70. 参考
• Progressive Web Apps on Windows
• Sonarwhal
• PWA BUILDER
• Building Progressive Web Apps
for Windows devices : Build 2018
• Cboard: A Progressive Web App for Everyone