PWA 【Progressive Web Application】 プログレッシブウェブアプリ
概要
PWA(Progressive Web Application)とは、スマートフォンなどのモバイル機器向けに設計されたWebアプリケーションを、アプリ(ネイティブアプリケーション)のように扱えるようにする技術。Webアプリケーションはインターネット上の特定のWebサイトにアクセスすることで利用できるが、PWAによってホーム画面にアイコンを作成してアプリを起動するようにアクセスできるようになる。実体はWeb上にあるためアプリのようにストアからインストールする手順は不要である。
Webブラウザ内部にスクリプトを常駐させることができるService Worker(サービスワーカー)の仕組みを利用して、サイトのデータや機能の一部または全部をブラウザ内に送り込み、オフラインの状態でも起動して動作させることができる。オフラインでどの程度まで動作するかはアプリの設計による。
一度読み込んだデータやプログラムはキャッシュとして保管され、機能や内容をあらかじめ読み込んでおく先読み(プリキャッシュ)機能もあるため、ネットワークから読み込むWebアプリよりも軽快に動作させることができる。
従来はネイティブアプリにのみ可能だったプッシュ通知も扱うことでき、サイト側から能動的に情報を告知することができる。ブラウザ側のメニューの一部を非表示とするなど、表示・操作画面の構成などもネイティブアプリ風に設計することができる。
サイトをPWA化するには伝送経路を暗号化するHTTPSへの対応が必須となる。その上で、ページ内にService Workerの動作を定義するスクリプトを記述し、Webサーバ上にアプリの設定や概要をJSON形式で記述したマニフェストファイル(拡張子.webmanifestのファイル)を用意する必要がある。
PWAという用語および概念は米グーグル(Google)社が2015年に発表したもので、当初は同社の(Androidスマートフォン上の)Google Chromeでの利用を想定していたが、他のブラウザ製品でもService Workerの実装が進み、Apple Safari、Mozilla Firefox、Microsoft Edgeなど主要なWebブラウザで利用可能となっている。