「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
- ネイティブアプリとWebアプリの中間のようなアプリ
- 位置情報、プッシュ通知が利用可能。
(ネイティブのプッシュ通知とは異なる)
- 今後、Web View に wrap したダケの
SPAはPWA化されてゆく可能性が高い。
特徴 †
特徴は大きく分けて四つ。
高速な表示 †
貧弱なネットワーク環境でも使用できる
インテグレーション †
信頼性 †
ネットワークに依存しない作り
エンゲージメント性 †
JS ライブラリが提供される。
- ログイン(パスワード・マネージャと連動)
- プッシュ通知(ネイティブのプッシュ通知とは異なる)
- 支払い(Google Payなどストアの支払い機能による)
メリット †
提供者側 †
基本的に、ネイティブより利用率が上がる。
- 基本的にWebなので
- コンテンツを検索エンジンで見つけることができ、
- URLでアプリやコンテンツを共有できる。
- すべてのデバイスで使え、
- 古いWebブラウザでも基本的な機能は使用でき、
- 最新Webブラウザではフル機能が使用できる
- 多くのユーザーに使ってもらえ、
- 表示が速いので直帰率が下がり、
- プッシュ通知が使え開封率も高い。
利用者側 †
- ストアからのインストールと比べすぐに使えるようになる。
- ホーム画面インストールしてアプリのように使える
- 表示が速いので閲覧時のストレスがない
問題 †
ストア登録 †
- アプリストアへの登録は別途必要
- ただし、アップデート・リリース審査は不要
プラットフォーム †
- iOSではPWAで実装できる機能の一部が未対応
- Windowsは、Chromeでサポート
- Androidでも、ブラウザによる。
(主なブラウザだとSafariが未対応)
事例 †
SUUMO †
https://suumo.jp/
Twitter(Light) †
...。
日経電子版 †
https://r.nikkei.com/
詳細 †
技術面 †
アーキテクチャ or プラットフォーム †
- アーキテクチャではなくプラットフォーム。
- Cordovaの側(皮)ネイティブに似ている。
- ただし、ネイティブ・アクセスはCordovaより限られる。
(ブラウザ側に公開されているネイティブ・アクセスのみ利用可能)
アーキテクチャ面 †
HTML5アプリをホストする。以下の両方に対応。
- SPA (Single Page Application)
- MPA (Multiple Page Application)
インストール †
- インストールできるが、必須ではない。
- アプリストアにアクセスする必要がない。
(Google、Apple、Microsoftの各Storeに乗るように推められている)
ネイティブ・アクセス †
ネイティブ・ハイブリッドより制限される。
- キャッシュ利用
- 位置情報
- プッシュ通知(ネイティブのプッシュ通知とは異なる)
コンポーネント †
Web Application Manifest †
Service Worker †
- オフライン機能を実現するキャッシュ機能を提供するコンポーネント
- キャッシュリストのリクエストのレスポンスをキャッシュ
- キャッシュリストのリクエストをハンドリングしキャッシュを返す。
- プッシュ通知
ページがアクティブでない場合(離脱しているユーザ)にも通知が可能。
- バックグラウンド同期
キューのようなもので、ネットワークが接続された後に、処理される。
- Service Worker のサポート状況
- メジャーなブラウザであれば全て使える。
- 今年、iOS の Safari と Microsoft の Edge が PWA に対応
※ ネットワークの品質が低い環境では、Web ページの表示に
Service Worker を使うだけでも十分メリットがある。
参考 †
Microsoft Store †
microsoft.com †