EdgeのPWAサポート状況
PWAはWebアプリですから、Windows 10での実行はデフォルトではEdgeブラウザが担います(UWPアプリ化した場合はEdgeのみ)。Windows 10 1803のEdgeは、すでにPWAの技術の大部分をサポートしています。
| 技術 | サポート状況 | 備考 |
|---|---|---|
| Webアプリマニフェスト | 17134 | Windows 10 1803でサポートされた |
| フェッチAPI | EdgeHTML 14 (14393) | Webサーバーから非同期に読み込むAPI。XMLHttpRequestに代わるもの |
| サービスワーカーAPI | EdgeHTML 17 (17133) | |
| キャッシュAPI | EdgeHTML 17 (17133) | サーバーとのリクエスト/レスポンスのペアをキャッシュする |
| プッシュAPI | EdgeHTML 17 (17133) | Windows Push Notification Services(WNS)からのプッシュ通知を受け取る |
| 通知API | EdgeHTML 14 (14393) | Windowsに通知を出す(トースト/アクションセンター) |
| バックグラウンド同期API(SyncManager) | 開発中 | バックグランドでのデータの同期が完了したり、あるいはオンラインに復帰したときにイベントを発生させる |
このような技術を駆使して、レスポンスが良くオフラインでも動作するWebアプリ、それがPWAなのです。
PWA作成サポートサイト
PWAの開発をサポートしてくれるツール(Webサイト)もあります。Microsoftが立ち上げたPWA Builderのサイトを使ってみましょう(次の画像)。
Webアプリマニフェストを作る
PWA Builderサイトの最初のページで、PWAにしたいWebサイトのURLを入力します(上の画像で、少し下へスクロールしたところにあります)。[Get started]ボタンをクリックすると、Webアプリマニフェストのひな型が生成されます(次の画像)。必要に応じてパラメータを修正/追加するだけで、Webアプリマニフェストが完成します。
上の画像の右側に見えているのが、作成したWebアプリマニフェストです。右上の[Download]ボタンでダウンロードできるzipファイルの中に、「manifest.json」というファイル名で保存されます。Webアプリマニフェストは、Webアプリのルートフォルダーに配置し、WebアプリのHTMLに追加したlink要素で指定します(次のコード)。
<link rel='manifest' href='/manifest.json'>
サービスワーカーのひな型を得る
PWA Builderサイトの次のページへ移ると、サービスワーカーの数種類のひな型が表示されます(次の画像)。画像の右側に見えているJavaScriptを見てもらうと、サービスワーカーのコードのイメージがつかめるかと思います(クリックで画像が拡大されます)。上がHTMLに追加するコードで、下がjsファイルとしてWebサイトのルートフォルダーに配置するコードのひな型です。ダウンロードできるzipファイルに選択したjsファイルが入っています。また、GitHubでも公開されています。
PWA Builderのその他の機能
PWA Image Generatorは、1枚の画像から、各プラットフォーム用に適したサイズの画像を生成してくれます。また、ドキュメントのページでは、Android用のパッケージを作る方法やiOS用のパッケージを作る方法なども解説されています。
