2015年にGoogleがリリースしたPWA(Progressive Web Apps)は、新しいアプリの形として今注目を集めています。
日本でも多くの企業がPWA(Progressive Web Apps)を導入し始めていますが、どんな機能があるのかネイティブアプリとの違いなど分からないと感じる人も多いでしょう。
そこで本記事ではPWAの基礎知識や機能、ネイティブアプリとの違いを解説していきます。
PWA(Progressive Web Apps)の導入を検討している担当者はぜひ参考にしてください。
- PWA(プログレッシブウェブアプリ)とは?
- PWA(プログレッシブウェブアプリ)・ネイティブアプリ・ハイブリッドアプリそれぞれの違い
- PWA(プログレッシブウェブアプリ)を構成する技術とは
- PWA(プログレッシブウェブアプリ)導入のメリット
- PWA(プログレッシブウェブアプリ)開発の費用
- PWA(プログレッシブウェブアプリ)導入のデメリットや流行らない理由
- PWA(プログレッシブウェブアプリ)導入をおすすめするパターン
- PWA(プログレッシブウェブアプリ)の作り方
- PWA(プログレッシブウェブアプリ)の導入で具体的に何が変わる?
- PWA(プログレッシブウェブアプリ)の導入事例
- まとめ:PWA(プログレッシブウェブアプリ)は注目の次世代アプリ
2014年 大学在学中にソフトウェア開発企業を設立
2016年 新卒でリクルートに入社 SUUMOの開発担当
2017年 開発会社Jiteraを設立
開発AIエージェント「JITERA」を開発
2024年 「Forbes 30 Under 30 Asia 2024」に選出
PWA(プログレッシブウェブアプリ)とは?
PWAとは、「progressive web apps」の略です。従来のウェブサイトとネイティブアプリの中間に位置する新しいアプリケーションの形態です。ウェブサイトのシンプルさとアプリの高機能さを併せ持っているのが特徴です。
PWAはブラウザの機能を活用して、オフライン表示やホーム画面へのアイコン設置などの高度な機能を実現します。
一方で、アプリストアへの登録は不要で、ウェブサイトの改良のみでPWA化できるため、開発コストや時間を大幅に抑えられます。ユーザーもアプリのインストール無しで利用可能で、使いやすさに優れています。
スマートフォンの普及によりモバイル利用が当たり前となった今、モバイル体験を意識したPWAの需要が高まっています。ネイティブアプリ並の高機能性とウェブサイトの手軽さを兼ね備え、iOS/Androidの両方に対応できるのがPWAの大きな利点です。
最近のブラウザがPWA対応を標準搭載していることも後押し、ユーザーエンゲージメントの向上や業績アップが期待できるためPWAへの投資効果は高いと言われています。
先進的なサイトでは既にPWA化が進んでおり、今後は一般サイトへの導入が広がると予想されます。ウェブサイトの強化とユーザー獲得・継続利用を高めたい場合には、PWAの活用が有力な選択肢となります。
PWA(プログレッシブウェブアプリ)・ネイティブアプリ・ハイブリッドアプリそれぞれの違い
PWAはウェブアプリケーションの一種で、ネイティブアプリやハイブリッドアプリとは異なる特徴を持っています。PWAは開発しやすく、アプリのような体験を実現できる存在です。これを比較表で簡単に説明しましょう。
特徴 | PWA | ネイティブアプリ | ハイブリッドアプリ |
開発言語 | HTML、CSS、JavaScript | Swift、Java、Kotlin、Objective-C | HTML、CSS、JavaScript |
インストール不要かどうか | ウェブブラウザからアクセス(不要) | アプリストアからダウンロード(必要) | アプリストアからダウンロード(必要) |
クロスプラットフォーム | ○ | ○ | ○ |
オフライン動作 | 一部可能 | 可能 | 一部可能 |
ユーザーエンゲージメント | 一般的に低い | 高い | 中間 |
プッシュ通知 | 可能 | 可能 | 不可 |
カメラ機能 | 可能(一部制限あり) | 可能 | 不可 |
位置情報取得 | 可能(一部制限あり) | 可能 | 不可 |
パフォーマンス | ネイティブアプリより劣る場合がある | 速い | 較的遅い |
SEO | 有利 | 不利 | 有利 |
アプリストア審査 | 不要 | 必要 | 不要 |
アップデート | ブラウザ経由で自動更新 | アプリストア経由で手動更新 | ブラウザ経由で自動更新 |
PWA(プログレッシブウェブアプリ)とネイティブアプリ
PWAとネイティブアプリの違いは、主にアクセス方法と開発する過程に関係があります。
PWAはウェブブラウザからアクセスでき、ネイティブアプリはアプリストアからダウンロードする必要があります。また、ネイティブアプリはプラットフォーム毎に別々に開発する必要があるのに対し、PWAはクロスプラットフォームで共通のコードを使用することができます。
ユーザーエンゲージメントにおいては、ネイティブアプリが通常高い一方、PWAは一般的にユーザーエンゲージメントが低い傾向があります。
PWA(プログレッシブウェブアプリ)とハイブリッドアプリ
PWAは標準のウェブ技術のみで開発できますが、ハイブリッドアプリは専用フレームワークが必要です。またPWAはブラウザ上で動作するのに対し、ハイブリッドアプリはアプリとしてインストールする必要があります。
PWAではオフライン時の動作などアプリのような機能を実現できますが、ハイブリッドアプリほど安定性は高くありません。一方、ハイブリッドアプリのほうがネイティブAPIへのアクセスがしやすく、よりアプリ寄りの動作が可能です。
お気軽にご相談ください!
PWA(プログレッシブウェブアプリ)を構成する技術とは
PWAでは、ウェブサイトをアプリのように高機能化するための様々な技術が用いられています。代表的な技術要素についてそれぞれ見ていきましょう。以下に主要な技術について解説していきます。
Service Worker
Service Workerは、ブラウザ上でバックグラウンド処理ができるJavaScriptです。Service Workerを使うことでプッシュ通知の送信や、オフライン時のコンテンツキャッシュからの表示などアプリのような機能が実現できます。
具体的には、Service Workerはブラウザで動作するスクリプトで、ページの読み込みとは別にバックグラウンドで動作します。Service Workerを登録することでプッシュ通知の受信や、オフライン時のリソースキャッシュの利用、バックグラウンド同期などの機能を実装できます。
例えばオフライン時にウェブページを表示させたい場合、そのページのリソースをService Workerでキャッシュしておくことでネットワーク接続がない状況でもキャッシュからコンテンツを提供できます。またプッシュ通知では、Service Workerが通知を受け取って処理することでブラウザが閉じられていてもメッセージを表示できるようになります。
このようにService Workerは従来のウェブアプリにはなかった高度な機能を簡単に実装できるため、PWAの根幹を成す重要な技術と言えます。
ユーザーインターフェース(UI)
ユーザーインターフェース(UI)は、スマートフォンアプリのような動きやデザインを実装する部分です。高速なページ表示を実現するAjaxや、スマホ用UIフレームワークを使うことが多いです。
PWAではUI面でもネイティブアプリに近い操作感とデザインを実現することが重要です。代表的なのはAjaxを用いた高速な画面切り替えです。ページをリロードすることなく、スムースにコンテンツを切り替えられるため、アプリのようなインタラクティブ性が得られます。
またスマートフォン向けのUIフレームワークを使うことで、モバイルアプリのようなインターフェースが簡単に実装できます。フレームワークにはBootstrapやVue.jsなどがあり、見た目だけでなくスワイプやスクロールなどの動きもアプリ寄りに設計できます。
こうしたUI面での工夫により、従来のウェブサイトよりも操作性とデザイン面で大きく向上できるため、ユーザーにとってもアプリのような快適な利用感が得られるのです。UIの改善はPWAの魅力を高めるうえで欠かせない要素といえます。
httpsサーバー
httpsサーバーは、ウェブサイトをSSL証明書で保護することで実現します。PWAではセキュリティ対策のため、サイトをhttpsで公開することが必須となっています。PWAがHTTPSで配信されることが要件となっているのには、セキュリティ面での理由があります。httpsは通信を暗号化するSSL/TLSに対応しているため、アプリのように機密性の高いデータを扱う場合に必須のプロトコルと言えます。
PWAの特徴の1つがプッシュ通知の利用ですが、これにはユーザーの個人情報が含まれる可能性があります。httpsを使わないと通信内容を第三者に傍受される危険性があるため、セキュリティ確保のためにhttpsが必須とされているのです。
また、Service Workerなどの機能は端末のローカルストレージへのアクセス権があるため、httpsがないと悪意ある第三者に情報を検知・改ざんされるリスクもあります。
このようにPWAはアプリのような機密性のある機能を持つため、通信内容の保護が重要視されています。httpsでサイトを配信することで、セキュリティ面での安全性を担保できるのです。
Web App Manifest
Web App Manifestは、ホーム画面へのアイコン追加やスプラッシュスクリーンの設定を記述するファイルです。アプリのような表示をカスタマイズできます。またPWAのアイコンやスプラッシュスクリーン、表示名などを指定するための設定ファイルで、これを作成することでアプリのインストールと同じUIを実現することができます。
具体的には、アイコン画像や背景色、画像などスプラッシュスクリーンの見た目、アプリ名、開始URLなどをJSONやXMLで記述します。これにより、ホーム画面に追加した際のアイコンのデザインをカスタマイズできたり、アプリ起動時のスプラッシュスクリーンもブランドイメージに合わせたものを表示できます。
ユーザーにとってはネイティブアプリと変わらないインストール体験が実現できるため、Web App ManifestはPWAのアプリらしさを演出する上で重要な技術といえます。自社のブランドイメージに合わせたManifestファイルを用意することで、アプリのような表示が可能になります。
※スプラッシュスクリーン・・・コンピューターソフトウェアやモバイルアプリケーションの起動時に表示される最初の画面のことです。
Push API
Push APIは、PWAにおいてプッシュ通知機能を実装するためのAPIです。JavaScriptを使用して、ユーザーの許可を得た上で通知を送信することができます。Push APIを使うことで、ユーザーの許可を得た上でプッシュ通知を送信できるようになります。プッシュ通知はユーザーエンゲージメントの向上に効果的です。
通知を送信することができれば、新着情報をリアルタイムでユーザーに伝えることが可能になります。またユーザーがアプリを開いていなくても通知を表示できるため、高いエンゲージメントが期待できます。
例えばメルマガ配信サービスでは新着記事の通知や、SNSアプリであれば友人からのメッセージ受信通知などを送信できます。ただし、プッシュ通知はユーザーに許可をもらう必要がある点に注意が必要です。許可なく勝手に通知すると迷惑と受け取られてしまいます。
適切に活用することでPWAの可能性が大きく広がります。
Single Page Application
Single Page Applicationは、1ページのアプリのように画面遷移を実現する技術です。高速なページ表示を実現できるのが特徴です。
SPAはページをリロードすることなく、1ページのアプリのようにUIを切り替える仕組みです。Ajax通信でデータを取得し、JavaScriptでDOMを書き換えることで実現します。これによりネイティブアプリのような高速な画面切り替えができるため、アプリのような操作感が得られます。またページ遷移そのものがないため、表示速度も向上しウェブサイトのレスポンス性が大きく向上します。
一方でSPAは、JavaScriptの動作に依存するためJavaScriptを無効にしているユーザーには適さないというデメリットもあります。ただPWAではJavaScriptを前提としているため、この点は許容範囲だと言えます。
高速表示と操作性を重視する際に、SPAは欠かせないアプローチです。PWAのメリットを最大限に引き出す上で、SPAを使うことは非常に有効だと言えるでしょう。
PWA(プログレッシブウェブアプリ)導入のメリット
PWAにはさまざまなメリットがあります。開発のしやすさやアプリ並みの機能など、様々な点でウェブサイトを改善できます。
以下に、PWAを導入することのメリットについて事例も交えながら詳しく解説していきます。
ネイティブアプリのようなUI
参照:タウンワーク
Ajaxやスマホ向けUIフレームワークを使うことで、アプリのような操作感と見た目を実現できます。コストをかけずに使いやすいUIが実装できるのが魅力です。
PWAなら余計なコストをかけることなく、アプリ並みのインターフェースを実現でき、既存のウェブ技術とスキルを活用して手軽にアプリのようなUIを実装できるのはPWAが持つ大きなメリットです。
ホーム画面へアイコンを表示できる
参照:スターバックス
ホーム画面にアイコンを設置できるので、アプリのようにすぐにアクセスできます。Manifestファイルを使えばアイコンもカスタマイズ可能です。
ネイティブアプリのように、ホーム画面にショートカットアイコンを設置できるのが大きなメリットです。ユーザーはアプリのように気軽にアクセスできるので、操作性が向上します。またブランドイメージに合わせてアイコンデザインを変更できるので、認知度の向上にもつながります。
アプリストアに依存せず検索される
ネイティブアプリの公開にはアプリストアの審査が必要ですが、PWAはウェブサイトなので自由に公開できます。
PWAはウェブサイトをベースとしているため、アプリストアへの公開審査を待つ必要がありません。自社の判断で即座に公開可能で、サービス提供のスピードが速められるメリットがあります。アプリストアからの審査基準に縛られることもないので、サービス内容の自由度も高くなります。
また、ウェブサイトなので検索エンジンで自然に表示されます。アプリよりも検索で自社サイトを上位表示しやすいというメリットがあります。
PWAはウェブサイトの一種なので、検索エンジンで自然とクロールされてインデックスされます。
ダウンロード・アップデートが不必要
ネイティブアプリではアップデートのためにアプリの再ダウンロードが必要ですが、PWAはウェブサイトを更新するだけで済みます。
PWAはウェブサイトなので、新バージョンへの更新もサーバー側のデプロイ作業だけで実現できます。ユーザー側は再ダウンロード不要で、リロードするだけで新バージョンが反映されます。
一方、ネイティブアプリの場合はアップデートのたびにユーザーがアプリマーケットからアプリを再取得する必要があります。この手間がユーザー離れにもつながりかねません。サービスの頻繁な更新が見込まれる場合は、この手軽さからPWAの方が望ましいと言えます。
オフラインでも使用可能
Service Workerを使うことで、オフライン時でもコンテンツを表示できるようになります。インターネット回線が不安定な場合でも利用できます。Service Workerを使えば、ページのリソースをキャッシュしておき、オフライン時にそこからコンテンツを提供できます。インターネットに接続できない状況でも、ある程度のコンテンツ表示が可能になります。
ネイティブアプリの場合は、オフライン時にはそもそも起動できないのが通常です。インターネット回線が不安定な環境での利用を考えるのであれば、オフライン時の対応ができるPWAの方が安定してサービスを提供できると言えます。
コンテンツの閲覧をメインとするサービスでは、このオフライン対応は大きなメリットになります。
キャッシュによる高速化
リソースのキャッシュによりページ表示の高速化が期待できます。通信回数が減るのでモバイルデータ通信量の削減にもつながります。PWAではService Workerを使って各種リソースをキャッシュすることができ、キャッシュを利用すれば再度ダウンロードする必要がなくなるため表示速度の改善が見込めます。また通信回数が減ればデータ通信量の削減にもつながるので、ユーザーにとってメリットは大きいです。
コンテンツを頻繁に更新しないWebサイトでは、キャッシュは有効なパフォーマンス改善策と言えます。
プッシュ通知
Push APIを使えば、新着情報をプッシュ通知でリアルタイムに伝えることができ、高いエンゲージメントが期待できます。PWAならPush APIを利用して、新着情報やタイムリーなお知らせをプッシュ通知で送信できます。ユーザーはアプリを開いている必要なく通知を受け取れるので、高いエンゲージメントが期待できます。
例えば、書店アプリであれば新刊発売の通知や、メディアサイトであれば速報記事の配信などが考えられます。
通知によってユーザーの関心を呼び寄せ、アプリ利用を促す効果が大きいです。重要な更新をリアルタイムに伝えられるプッシュ通知は、PWAの大きな強みの1つと言えるでしょう。
PWA(プログレッシブウェブアプリ)開発の費用
PWA(プログレッシブウェブアプリ)の開発費用相場
PWAの開発費用相場は、開発規模や機能、開発会社によって大きく異なります。
フリーランスへ外注した場合は5万円〜10万円程度から可能ですが、開発会社へ外注した場合は10万円〜数百万円程度になることも。
また、アプリの内容次第でも費用相場には幅があります。
シンプルな情報閲覧アプリであれば数万円〜、中規模のECアプリになると30万円〜、より複雑な機能を持つアプリになると数百万円〜です。
ネイティブアプリやモバイルサイトとの費用相場を比較
PWA | ネイティブアプリ | モバイルサイト | |
開発コスト | 数十万円~数百万円 | 数十万円~数千万円 | 数万円~数百万円 |
開発期間 | 数週間~数ヶ月 | 数ヶ月~1年程度 | 数週間~数ヶ月 |
PWA、ネイティブアプリ、モバイルサイトの開発費用相場を比較すると、最も低コストなのはモバイルサイトです。HTML/CSSとJavaScriptの基本的な技術さえあれば、数万~数十万円程度で構築できる場合もあります。
一方、PWAは専門的な知識が必要となるため、シンプルなものであれば数十万ですが、一般的なコストは数百万円前後とされています。
ただし、それでもネイティブアプリの1/2〜1/3程度に抑えられる点が大きなメリットです。
ネイティブアプリの開発費用は最も高額です。iOS/Androidの両プラットフォームでアプリを開発する必要があり、各OSに精通した複数のエンジニアが関与するためです。中小規模のアプリでも1,000万円を超える事例も少なくありません。
開発目的や自社のリソース、求める機能性に応じて、三者のコストを検討する必要があります。
PWA(プログレッシブウェブアプリ)の開発コストが高くなるパターン
PWAの開発コストが高くなるケースは主に2パターンあります。
外部アプリやサービスとの連携が必要になった場合
1つ目は、外部アプリやサービスとの連携が必要になった場合です。PWA側の実装コストだけでなく、データ同期やAPI連携の管理など、連携に伴う追加コストが発生します。
また、ネイティブアプリとPWAの並行運用が必要となるため、バージョンアップ時の二重のメンテナンスコストも考慮しなければなりません。
PWA開発に高度な専門性が必要なった場合
2つ目のパターンは、PWA開発に高度な専門性が求められる点です。Service Worker、Webマニフェスト、PushAPIなど、一般的なウェブ開発とは異なる技術を習得する必要があります。
こうした先進的な領域に精通したエンジニアの確保が前提となるため、人件費の高騰を招きがちです。さらに、PWA特有のデバッグ・テスト・保守作業が加わることで、運用コストも増大する可能性があります。
外部連携の有無や、要員の専門性によっては、PWAの開発・運用コストが想定以上に高くつく恐れがあります。検討の際は、こうしたリスク要因を十分に見積もる必要があるでしょう。
PWA(プログレッシブウェブアプリ)導入のデメリットや流行らない理由
PWAにはデメリットもあることに注意が必要です。これらのデメリットはPWAが流行らないと言われる理由の一つです。
特にコスト面やブラウザ対応などがなかなか流行らない理由と言えるでしょう。もし導入を検討している場合は、ウェブサイト以上の課題がある点を把握する必要があります。
以下、PWAのデメリットについて詳しく解説していきます。
デバイスやOSによる動作差異
PWAでは最新のブラウザが必要です。古いOSでは正常に動作しない可能性があり、対応デバイスの制限も課題です。PWAに必要な技術は、比較的最近のブラウザでしかサポートされていないものが多くあります。そのため、古いスマートフォンやガラ系ではPWAが利用できない場合があります。
例えば、iOSのSafariではiOS 11.3以降しかService Workerに対応していません。Androidでも古いOSではPWAの機能が十分に動作しないことがあります。ユーザーの端末が古い場合PWAを使うことができない可能性があるため、ターゲット層によっては普通のモバイルサイトの方が望ましい場合もあるでしょう。
対象ユーザーの端末環境を考慮し、PWAのメリットが活かせるか見極める必要があります。
ネイティブアプリとの機能差
ネイティブアプリとPWAでは一定の機能差があります。
PWAはWebテクノロジーに基づくため、ネイティブアプリがデバイスのハードウェアやOSの機能にフルアクセスできるのに対し、PWAには制限があります。
具体的には、カメラ、GPS、連絡先、指紋認証などのネイティブAPIへのアクセス権限の制限などです。また、アプリ間の連携や、バックグラウンドでの動作なども、ネイティブアプリの方が自由度が高くなっています。
ただ、PWAはプッシュ通知、バックグラウンド同期、オフラインサポートなど、ネイティブアプリと同等の体験を提供できる機能も備えています。
PWAの機能も拡張され続けているため、ネイティブアプリとの機能差は徐々に小さくなっていくと考えられており、要件次第ではPWAで十分事足りる場合も多いです。
アプリストアへの掲載ができない
アプリストアへの掲載は、ユーザーへのリーチ力を大きく向上させる一方、プラットフォーム providersの審査を通過する必要があり、一定の手間とコストがかかります。
PWAはWebで動作するため、この審査プロセスを経ずに配信できるメリットがあります。
ただし、アプリストアには掲載されないため、ユーザが見つけにくい点がデメリットになり得ます。優先順位次第では、アプリストア掲載とPWA配信のハイブリッド戦略を検討しましょう。
SEO対策が難しい
先ほど紹介したように、PWAはWebアプリケーションの一つであり、検索エンジンによるコンテンツのクロールやインデックス化が可能です。
ただし、JavaScriptでレンダリングされるコンテンツについては、クロールの際に一部の情報が欠落する可能性があります。
Googleなどは、この課題に対処するため、JavaScriptレンダリングを適切に行えるよう検索エンジンを改善してきました。
これが十分かどうかは効果を正しく計測しなければ分からない部分もありますが、PWAでのSEO対策は適切なマークアップとメタデータの設定を行うことが重要です。
PWA(プログレッシブウェブアプリ)導入をおすすめするパターン
PWAは特に以下のような目的に適していると言えます。自社の要件と照らし合わせ、PWAのメリットが活きるケースか判断することが重要です。以下に、細かく解説していきます。
開発コストを抑えたい場合
PWAなら安価にアプリのようなサービスが提供できます。大規模なアプリ開発予算が取れない場合でも、PWAなら実現可能な選択肢です。
PWAはネイティブアプリほどの予算を要しないため、資金に余裕がないスタートアップなどにとっては有効な選択肢といえます。アプリ開発が困難な場合でも、PWAなら手軽にアプリライクなサービスを実現できます。
多くの機能は求めていない場合
派手な機能よりもシンプルで使いやすいサービスを目指すなら、余計な機能のないPWAが適しています。
冗長な機能よりシンプルで直感的な操作性を重視したい場合には、PWAはそのニーズに合致します。コアな機能にフォーカスでき、ユーザビリティの高いサービスを提供できます。
オフライン機能を搭載したい場合
安定したサービス提供のためには、オフライン時の動作は欠かせません。これにはPWAの機能が向いています。
安定稼働はサービス継続に不可欠であるため、オフライン時の対応も重要視したい場合PWAの採用が現実的な選択となります。ユーザーは安定したサービスを好みます。
Webサイトよりも表示速度を早くしたい場合
表示速度の改善でユーザー体験を高めたい場合、高速なPWAは理想的な選択肢といえます。
表示速度はユーザーエクスペリエンス(UX)に大きな影響を与えます。サイトのレスポンシブ性を向上したいのであれば、PWAの採用は確実な改善策といえます。また快適なブラウジングを実現したければ、PWAが有効です。
Webサイトをアプリ化したい場合
PWAは、オフライン利用、プッシュ通知の受信、ホーム画面へのアイコン設置など、従来のWebサイトに加えてネイティブアプリのようなのような体験を提供しています。
そのため、Webサイトをそのままアプリ化させて提供したいという場合にぴったりです。PWAは、開発者がWebの技術で作ったコンテンツをユーザーがアプリのようにシームレスに利用できます。
特にパフォーマンスの高速化やオフライン対応は、従来のWebアプリの弱点を補う上で大きな意味を持ちます。
アプリストアへの掲載を避けたい場合
企業によっては、プライバシーや機密保持の観点から、アプリをアプリストアで公開したくないケースもあるでしょう。その場合はPWAが最適です。
アプリストアが求める要件をクリアする必要がなく、審査や手数料もないのでコストやルールを気にすることなく安心して配信が可能です。
PWA(プログレッシブウェブアプリ)の作り方
PWAは難しい開発の一つですが、どのような工程、作り方で開発されるのでしょうか。
PWA の開発には様々な技術的ポイントがあり、ネイティブアプリに近い体験を実現するための工夫が求められます。製品の要件に合わせて、徐々に機能を拡張していく必要があるでしょう。
ここでは、専門的すぎる内容ではなく、PWAの作り方を簡単に解説します。
作り方1. Service Workerの実装
Service Worker はウェブアプリのバックグラウンドで動作するスクリプトで、PWA の中核となる技術です。主な役割は次のとおりです。
- キャッシュの管理
- プッシュ通知の配信
- バックグラウンド同期
キャッシュの管理、プッシュ通知の配信、バックグラウンド同期など、PWA特有の機能を実現します。
作り方2. Webアプリマニフェストの作成
Webアプリマニフェストは、PWAのメタデータを記述するJSONファイルです。具体的には次の情報を含みます。
- アプリ名、説明、アイコン画像
- スプラッシュスクリーン(起動時の画面)の設定
- 表示モード(全画面、ブラウザウィンドウ内など)
- アプリの起動 URL
作り方3. HTTPSの適用
PWAではHTTPS接続が必須となります。SSL/TLSの証明書をWebサーバに設定する必要があります。
作り方4. アプリシェルの構築
アプリシェルとは、UIのベースとなるHTMLとCSSで構成される部分です。
ウェブアプリの起動時にこの部分を先にロードし、コンテンツはその後で非同期的にロードすることで、ユーザーにスムーズな体験を提供します。オフライン利用時にもこの方式が役立ちます。
作り方5. ライフサイクルの実装
PWAではさまざまなイベントハンドラを定義し、ライフサイクルに応じた振る舞いを設計します。例えば以下のような処理のことです。
- Service Worker のインストール/アクティブ化時の処理
- ウェブページの読み込み時の処理
- アプリの更新に対する処理
- バックグラウンド同期の処理
作り方6. アクセシビリティの確保
PWAはデスクトップ、モバイルを問わず、あらゆる環境で利用されるため、アクセシビリティに細心の注意を払う必要があります。具体的には以下のようなポイントに気を付けます。
- WAI-ARIA の適切な利用
- フォーカス制御の実装
- ショートカットキーの実装
- 高コントラスト、テキストの拡大縮小対応
作り方7. デバッグ・テスト・デプロイ
PWAアプリケーションの動作確認やパフォーマンスチューニングを行い、品質を高めていきます。
アプリケーションキャッシュの動作確認、Service Worker のデバッグ、オフライン動作の確認、パフォーマンス測定などを行います。
最終的に Web サーバにアプリをデプロイしますが、HTTPS 設定やアプリマニフェストの設置を再確認しましょう。
PWA(プログレッシブウェブアプリ)の導入で具体的に何が変わる?
PWAを導入することで、ウェブサイトの改善や認知度向上など、さまざまな効果が期待できます。代表的な効果を見ていきましょう。以下に、詳しく解説します。
読み込み速度の向上
キャッシュ機能などを活用し、ページの読み込み速度を向上できます。待ち時間の削減はユーザーのストレス軽減につながります。PWAならService Workerを使ったキャッシュ機能で、表示速度を大幅に改善できます。キャッシュしたリソースを活用することで再度の通信が不要となり、待ち時間を短縮化できます。
アクティブユーザー数の増加
オフライン時の視認性やプッシュ通知などで、サイトへのアクティブユーザーを増やすことが期待できます。PWAならオフライン時でもコンテンツを表示できるため、サービスへのロイヤルティが向上します。またプッシュ通知でタイムリーに情報提供が可能なので、サイトを頻繁に訪れるアクティブユーザーの増加が見込めます。
オーガニック流入の増加
ウェブサイトなのでSEO効果も期待でき、検索からの訪問者増につながります。PWAはウェブサイトの一種なので、検索エンジンで自然とクロールされます。そのため、適切なSEO対策を行えば、検索ランキングを上げることが可能です。
コンバージョンの上昇
高速表示やプッシュ通知などで、購入などのコンバージョンを伸ばす効果があります。PWAなら高速表示によって、サイト内の操作性が向上します。ユーザーはストレスなくサイトを閲覧できるので、結果的にコンバージョン率の向上が期待できます。またプッシュ通知を活用すれば、キャンペーンなどのタイムリーな告知が可能です。新商品や特別割引などのお知らせをプッシュ通知で行うことで、コンバージョンを伸ばす効果があります。
こうしたPWAならではの機能をフルに活用することでより多くのユーザーに商品やサービスを訴求し、売上増加につなげることができるでしょう。
PV数の向上
アクセス容易性の向上でページビューは増加し、サイトの認知度アップが図れます。PWAならホーム画面への登録が容易なため、ユーザーはより気軽にアクセスできるようになります。また表示速度の改善でストレスなく利用できるため、訪問頻度が向上すると考えられます。
PV数の増加はサイトの認知度とインパクトを高めます。検索エンジンのランキングアルゴリズムでも、PV数は重要な要素の1つです。
PVアップはトラフィック獲得とサイトの露出向上につながるため、マーケティング効果は計り知れません。PWAによるアクセシビリティと操作性の改善は、PV数増に大いに貢献するでしょう。
直帰率の減少
サイトへのロイヤルユーザー増により、単なる直帰ではなく長時間の滞在が期待できます。PWAによりサイトへのロイヤルティが向上するため、すぐに離脱してしまうのではなく、コンテンツを閲覧する長時間の滞在時間が増えることに期待できます。
PWA(プログレッシブウェブアプリ)の導入事例
PWAはすでに多くのサービスで導入されており、効果を発揮しています。代表的な事例を以下で詳しく見ていきましょう。
Uber
UberはPWAを導入することで、アプリの読み込み速度を75%も改善できました。
また、アプリ未登録のユーザーの獲得数も大幅に伸ばすことに成功しています。
UberのPWAはアプリ未登録のユーザーにも気軽にサービスを利用してもらうことを主眼に置いて開発されました。そのため表示速度の最適化に注力しており、アプリ版よりも大幅に高速化を実現しています。
X(旧Twitter)
Twitterは世界最大級のSNSとして知られていますが、最近ではPWA版の提供も積極的に進めています。
TwitterのPWA版は通信環境が不安定な地域でも、比較的軽快に動作することが特徴です。アプリのダウンロードが困難なユーザーにとっても、ウェブアプリとしてアクセスできるPWAは有効な選択肢となります。
またPWAなら高速表示が可能なため、ツイートのタイムラインをストレスなく快適に閲覧できるのも大きなメリットの1つです。
YouTube
YouTubeは世界最大の動画共有サービスとして知られています。
近年はPWA版の提供を積極的に進めており、2021年には本格的なPWAサービスを開始しました。
YouTubeのPWA版は、オフライン視聴機能が実装されているのが大きな特徴です。インターネットに接続できない環境でも、ある程度は動画を視聴できるのはユーザーにとって大きなメリットです。
またPC版では、ウィンドウをフルスクリーン化できたり、タスクバーへのピン留めが可能になるなど、操作性の改善も図られています。動画サービスにとってのPWAの可能性を示す好事例と言えるでしょう。
Pinterestは画像共有SNSとして有名ですが、近年PWAへの移行を進めています。PWAへの切り替えにより、モバイルサイトのパフォーマンスが大きく改善しました。
具体的には、ページの読み込み時間が40%短縮されユーザーの長期滞在率が5%向上するなど、継続利用度のアップに成功しました。また広告収入も2%増加するなど、事業面でのメリットも得られています。
PinterestはJavaScriptのファイルサイズ削減など、表示速度を重視したPWA開発を行った結果、平均的なスマートフォンでも快適に利用できるサービスを実現しています。長時間の画像閲覧に適したUIはPWAの強みを活かしている良い例と言えそうです。
Spotify
Spotifyは音楽ストリーミングサービスの先駆けとして知られていますが、近年PWAへの移行を進めています。PWA化により、ウェブサイトの読み込み速度が大幅に改善されました。
また、サービスのアイコンをホーム画面に登録できるようになったことで、ユーザーはアプリのように気軽にSpotifyを利用できるようになりました。オフライン再生機能もPWAなら実現可能で、ユーザーエクスペリエンスの向上につながっています。
音楽ストリーミングサービスにとって表示速度は重要です。SpotifyのPWAは、快適な操作性と利便性の提供に大いに貢献していると言えます。
まとめ:PWA(プログレッシブウェブアプリ)は注目の次世代アプリ
PWAとは、ウェブサイトをより使いやすくアプリ化したものです。
PWAならアプリのような操作性と高機能を、アプリ開発に見合うコストをかけずに実現できます。代表例としては、高速表示、プッシュ通知、オフライン動作などの機能を簡単に搭載可能です。
今や主要なサービスもPWAを導入し、ユーザーエクスペリエンス(UX)の改善や業績向上の効果を上げています。ウェブサイトの強化において、PWAはもはや選択肢の1つではなく、必須の存在と言えるでしょう。
流行らない理由は先述したデメリットもありますが、まだまだ認知度が低い点も挙げられます。
新しい技術を使って開発をしたいと考えている方や、PWAについてさらに知りたい場合は、ぜひJitera社にお問い合わせください。様々な実績から最適なものをご提案できます。お困りごとがあれば、お気軽にご相談ください。