PWA(Progressive Web Apps)とは?ネイティブアプリ開発との違い

新たなアプリの形として、今注目を集めているPWA(プログレッシブウェブアプリ)。日本でもポータルサイトを中心にPWAを採用する企業が出始めている。

PWAは、Google2015年にリリースしたWebアプリ(※)。従来型アプリ(ネイティブアプリと呼ぶ)と似た機能が搭載でき、かつOSごとの開発が不要というメリットがある。

PWAを検討したい!と考える人も多いかもしれないが、ネイティブアプリからPWAにいきなり移行するのは問題あり。PWAは課題もまだそれなりにある状況だ。

まずはPWAアプリとネイティブアプリとの違いや、メリットとデメリットをチェックした上で検討したい。

Webアプリについては、以下の記事でも詳しく解説している。
Webアプリとネイティブアプリの違いとは(https://yapp.li/magazine/2093/

PWAはプッシュ通知など、ネイティブアプリに近い機能が搭載できるのがメリット

Webアプリでありながら、プッシュ通知をはじめネイティブアプリに近い機能・デザインにできる点がPWAの大きなメリットだ。

<PWAアプリの特徴>

・通常のWebサイトと比べて、ページの読み込み速度が速い。
Webアプリのため、アプリを端末にインストールする必要がない。
・ホーム画面にアイコンを表示させることが可能。
・プッシュ通知が利用できる。
・ブラウザベースだがフルスクリーン表示が可能なため、ネイティブアプリに近いUIにできる。
・キャッシュを利用し、オフラインでの動作が可能。

PWAではService Workerという技術を利用している。Service Workerは通常のWebページの裏側で動くJavascriptのこと。プッシュ通知以外にも多くの機能がService Workerによって実装されている。なおService Workerを使う場合はサーバをHTTPS設定にする必要がある。

従来はSafariService Worker未対応だったが、20183月のiOSバージョンアップによりSafariも対応。そのため、2018年以降PWAに注目が集まっている。

ネイティブアプリとPWAの違いとは?

(1)アプリユーザー側から見た違い

PWAの機能そのものはネイティブアプリと重複するものも多い。ユーザーから見た最も大きな違いは、ユーザーがストア(App Storeなど)を経由せずに利用できる点だろう。インストールのハードルがない一方、ストアのように明確な入口がなくPWAを見つけづらいという一面もある。

(2)アプリ開発側から見た違い

PWAOSごとにアプリを開発する必要がないのが、ネイティブアプリとの大きな違いだろう。アプリを独自開発(スクラッチ)する場合と比べてコスト削減・納期短縮ができるケースも多い。

PWAのデメリットとは?

PWAOS別の開発が不要とはいえ、ブラウザ環境に依存する。SafariPWAに対応しているが、SafariChromeでは動作などにはやや違いがあるのも事実。こうした背景もあり、ネイティブアプリの機能を全てPWAで実現するのはなかなか難しい。

またインストールの手間がないPWAは、ユーザーとのエンゲージメント強化につながりにくいという見方もできる。ネイティブアプリはユーザー自身がストアからダウンロードするため、ある程度ロイヤリティの高いユーザーが多い。だからこそアプリのプッシュ通知などにも抵抗が少ない。

効果測定においても注意点がある。PWAではダウンロード数やアンインストール数が把握できないため、利用者数などの指標をチェックする方法を考えなければならない。

アプリ開発の面では、スクラッチ開発と比べて手軽という点は大きいだろう。とはいえコードを書く必要がある。プログラミングに慣れていないアプリ担当者がPWAを自作するのは現実的とは言えない。ネイティブアプリはプログラミング不要の開発ツールやサービスも増えていることを考えると、開発しやすいとも言い切れない。

PWAはネイティブアプリの替わりになるのか?

PWAにはさまざまなメリットがあり、「今後はPWAが主流になる?」という声も出てきている。しかしネイティブアプリの替わりになるかと言うと、紹介したような課題がある現状では難しいだろう。

現在、日本国内でPWAを提供しているニュースサイトや住宅情報ポータルを見ると、ネイティブアプリからの移行というよりもページ読み込み速度の向上を目的にしているようだ。実際にPWAを導入していても、ほとんどのサイトはネイティブアプリのインストールをバナーなどでPRしている。

つまり現状ではPWAWebサイト開発の一環と捉え、アプリはネイティブアプリを前提に考えたほうが現実的だ。

ただしPWAの動向は、チェックしておきたいところ。PWAに限らず、アプリ関連技術の進歩はスピードが速まっている。この状況で莫大な初期費用をかけてネイティブアプリを開発するやり方は、リスクが高いので要注意だ。開発ツールやサービスを活用して、フレキシブルな開発環境を整えておくほうがトレンドやニーズに対応しやすいだろう。