PWAとは
PWAはProgressive Web Appsの略称で、モバイル向けWebサイトをネイティブアプリのように使える仕組みのことです。PWAはそれ自体が何か特殊な一つの技術、というわけではありません。レスポンシブデザイン、HTTPS化など、Googleが定める要素を備えたWebサイトであり、オフラインやプッシュ通知に対応するためのブラウザAPI(Service Workerなど)を利用しているWebサイトをPWAと呼びます。
PWAの機能
PWAを構築するService Workerは、ネットワークの状態に左右されることなく瞬時にページを読み込んで表示させることができます。あらかじめデータをキャッシュして情報を最新に保っておくため、ユーザーは起動直後から最新のコンテンツを閲覧できるのです。
PWAとネイティブアプリの違いとして一番に挙げられるのはストアの有無でしょう。PWAにはこのような仲介者が存在しないため、iOSやAndroidのルールやガイドラインに縛られることなく開発が進められます。審査に通す必要もないので、準備ができたらすぐにでもアプリをリリースできるのです。
開発者にとって最大のメリットは、アプリをプラットフォームごとに開発する必要がないこと。PWAはWebの技術を基にしたクロスプラットフォームであるため、ほとんどのブラウザ環境で作動します。
PWAを1つ構築するだけで、ユーザーがデバイスを変えても一貫性のある操作を提供できるのです。
さらに、PWAはWebサイトと同じように検索エンジンが情報を認識して検索結果に表示するため、ユーザーが見つけやすくなっています。
まとめ
Webページでありながらアプリのような機能を持ったPWAにより、Webサイトの可能性が広がりつつあります。
以前は、iOSに対応していませんでしたが、Safari 11.1がService Workerに対応しました。(データ制限や、プッシュ通知等に制限あり)
それぞれのネイティブアプリを作成しなくてもよくなり、今までかかっていた開発コストを大幅に短縮することができるようになることは、本当に素晴らしいことです。
こんな素晴らしいPWAなので、当サイトもPWA化してみました。