SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

UWPアプリ開発の最前線

Windows 10 1803の新機能「PWA」とは?
PWAのUWPアプリ化を試してみる

UWPアプリ開発の最前線 第7回


EdgeのPWAサポート状況

 PWAはWebアプリですから、Windows 10での実行はデフォルトではEdgeブラウザが担います(UWPアプリ化した場合はEdgeのみ)。Windows 10 1803のEdgeは、すでにPWAの技術の大部分をサポートしています。

EdgeブラウザのPWA技術サポート状況(本稿執筆時点)
Progressive Web Apps on Windows」より
技術 サポート状況 備考
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のサイトを使ってみましょう(次の画像)。

PWA Builderのサイト:トップページ
PWA Builderのサイト:トップページ

Webアプリマニフェストを作る

 PWA Builderサイトの最初のページで、PWAにしたいWebサイトのURLを入力します(上の画像で、少し下へスクロールしたところにあります)。[Get started]ボタンをクリックすると、Webアプリマニフェストのひな型が生成されます(次の画像)。必要に応じてパラメータを修正/追加するだけで、Webアプリマニフェストが完成します。

PWA Builderのサイト:Webアプリマニフェスト作成画面
PWA Builderのサイト:Webアプリマニフェスト作成画面

 上の画像の右側に見えているのが、作成したWebアプリマニフェストです。右上の[Download]ボタンでダウンロードできるzipファイルの中に、「manifest.json」というファイル名で保存されます。Webアプリマニフェストは、Webアプリのルートフォルダーに配置し、WebアプリのHTMLに追加したlink要素で指定します(次のコード)。

WebアプリのHTMLにWebアプリマニフェストを指定する
<link rel='manifest' href='/manifest.json'>

サービスワーカーのひな型を得る

 PWA Builderサイトの次のページへ移ると、サービスワーカーの数種類のひな型が表示されます(次の画像)。画像の右側に見えているJavaScriptを見てもらうと、サービスワーカーのコードのイメージがつかめるかと思います(クリックで画像が拡大されます)。上がHTMLに追加するコードで、下がjsファイルとしてWebサイトのルートフォルダーに配置するコードのひな型です。ダウンロードできるzipファイルに選択したjsファイルが入っています。また、GitHubでも公開されています。

PWA Builderのサイト:サービスワーカーのひな型を選択する画面
PWA Builderのサイト:サービスワーカーのひな型を選択する画面

PWA Builderのその他の機能

 PWA Image Generatorは、1枚の画像から、各プラットフォーム用に適したサイズの画像を生成してくれます。また、ドキュメントのページでは、Android用のパッケージを作る方法iOS用のパッケージを作る方法なども解説されています。

次のページ
PWAをUWPアプリ化してみよう

この記事は参考になりましたか?

UWPアプリ開発の最前線連載記事一覧

もっと読む

この記事の著者

biac(ばいあっく)

HONDA R&Dで自動車の設計をやっていた機械屋さんが、技術の進化スピードに魅かれてプログラマーに。以来30年ほど、より良いコードをどうやったら作れるか、模索の人生。わんくま同盟の勉強会(名古屋)で、よく喋ってたりする。2014/10~2019/6 Microsoft MVP (Windows Devel...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/10837 2019/11/10 21:24

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー