✈️

PWAを使ったサイトの作り方や実装方法を解説【サンプルあり】

2023/06/14に公開

今回は、PWA(Progressive Web Apps)という技術について自分なりの解釈をまとめました。
PWAとは、簡単にいうとWebサイトをネイティブアプリのように利用できる技術です。
PWAの一部の機能を使って実施にサイトを作ってみました。

PWAとは?

PWAとは、「Progressive Web Apps」の略でWebサイトをネイティブアプリのように利用できる技術です。
Google(Android Chrome)を中心に展開されており、ユーザーとのエンゲージメントの向上やコンバージョン・リテンションの改善に効果があるとされています。
まだまだ導入されているサービスは少ないですが「Twitter」「日経電子版」「SUUMO」などのサービスに導入されています。

Progressive Web App Checklist | Google Developers

メリット/デメリット

PWAはWebサイトをインストールできるようにするだけなので、コストがかからず、かつ訪問者のユーザービリティーとリテンションを上げることができます。しかし、デメリットもあります。

簡単にメリット・デメリットをまとめてみました。

メリット

  1. ネイティブアプリのようなUIを実現できる
  2. インストールが不要
  3. ページの読み込みや表示が速い
  4. オフラインでも動く
  5. プッシュ通知の受信が可能
  6. ストアの審査なくアップデートが可能
  7. GPSを使った現在地取得と利用が可能

デメリット

  1. 対応ブラウザが限定的
  2. SSL化の課題
  3. ネイティブアプリとの2重管理

実際に実装してみた

今回はサンプルとして「おみくじ」サービスをPWA化してみました。
PWAはhttpsを前提にした技術なので今回はGithub Pages(github.io)を使用し公開を行いました。

3分ぐらいあればすぐにPWAのサービスが作れます!

  • 公開ページ

https://mako5656.github.io/pwa/

  • GitHub

https://github.com/mako5656/pwa

簡単にそれぞれのファイルの説明をすると

index.html

アプリの表示部分になります。

sw.js

ServiceWorkerの処理を書くファイルになります。キャッシュファイルの設定、インストール処理、キャッシュロード処理を記述しています。

manifest.js

PWAの設定情報を記述しておくところになります。

↓詳しく知りたい方
https://web.dev/add-manifest/

PWAの事例

今回は2つの事例を紹介します!

①Twitter

Twitter

引用先:https://developers.google.com/web/showcase/2017/twitter

PWAの導入によって下記の効果があったようです。

  • セッションあたりのページ数が65%増加
  • 送信されたツイートが75%増加
  • 直帰率が20%減少

②日経電子版

https://speakerdeck.com/sisidovski/nikkei-pwa-html5conf2018

PWAの導入によって下記の効果があったようです。

  • モバイルに比べパフォーマンスが2倍に改善
  • PC版と比べるとSpeed IndexとStart Renderが3分の1に短縮
  • ユーザーとのエンゲージメントの向上やコンバージョン・リテンションに効果がみられた
GitHubで編集を提案

Discussion