PWAとネイティブアプリを比較した時のメリットとデメリット 千葉県の方へ

PWAを起動したときの見た目の画像
千葉市稲毛区稲丘町の画像
千葉市稲毛区稲丘町

PWAとネイティブアプリの比較

1年くらい前からPWA(プログレッシブウェブアプリ)という技術の話題を見かけます。数か月前からこのブログもPWAの機能は取り込んでおりまして、ホームボタンに追加するとネイティブアプリのようにスプラッシュ画面から始まり操作できるようになっております。

下の画像が開いたときに表示されるスプラッシュ画面です。ふわっと一瞬スプラッシュ画面が表示されてその後ブログが表示されます。下の画像がPWAをホーム画面に追加してから開いたときのUIです。URLなどは表示されずにネイティブアプリのような見た目です。

PWAのUI

今回はPWAとネイティブアプリの比較ですが、まず簡単にPWAとは何か??何ができるのかについてご説明させて頂きます。

PWAはWebサイトにServiceWorkerという仕組みを取り込むことでネイティブアプリのような機能を使えるようにします。
その機能というのが現在はホーム画面に追加(ネイティブアプリのようなUI)または追加して頂く為のバナーをサイト閲覧時に表示させる、プッシュ通知送信、オフラインで使えるようにするといった機能ですね。

簡単なものではございますが、私はAndroidアプリもGoogleプレイから配信させて頂いております。Androidアプリとしては本当にごくごく簡単な造りではございますが配信させて頂いております。
そのネイティブアプリとPWAを比較してみてもPWAには良い部分があるなと感じております。

とはいえPWAについては今まで、『ホーム画面に追加するといっても誰がそれをやるんだろう??』という疑問がありました。ホーム画面に追加するという行動じたいがそこまで認知されていないと考えていました。しかし徐々にPWAがGoogle Chromeで本格的に使えるようになり、本日、FireFoxがPWAのホーム画面に追加機能をサポート開始というのを見て、Bata版ではありますがこれを操作してみて、先々期待できるかもと感じました。

Google ChromeもFireFoxみたいにわかりやすいところにボタンを作ってほしいです。Safariも対応が進んでいるということで先々期待できると感じました。

PWAとネイティブアプリを比較した時のメリットとデメリット

そんなPWAですが、メリットはやはりネイティブアプリより実装が簡単なところですね。簡単といってもネイティブアプリの開発よりはですが。
サーバーの中でServiceWorkerのファイルの配置場所を間違えたり、JSファイルの中のURLの指定を間違えたりしていると当然動きません。
それでもネイティブアプリの開発よりはものすごくシンプルです。
AndroidStudioをインストールして立ち上げて、コードを記述して、デバックしてもエラーが出て起動しなくて、修正して……またエラーが出て修正して……またまたエラーが出て修正して……ようやくGoogleプレイから配信。ということをやるよりはシンプルです。

さらにGoogle ChromeとFireFoxのように異なるブラウザでも対応してくれるのであれば、OSを考えなくて済むというのがありますよね。
今後Safariが対応してくれたのならなおですよね。
ネイティブアプリの場合デバイスごとに開発プラットフォームを合わせたり、言語を合わせたりといったことが必要になりますが、PWAならそこまですることなく実装できます。
ですので、実装したい機能が”ネイティブアプリのような見た目にしたい”、”プッシュ通知”を送れるようにしたいなどPWAの範囲であればネイティブアプリを開発するより短時間で実装できます。

ただ、ここでネイティブアプリと比較した際のデメリットです。
現状ネイティブアプリのように管理できない点ですね。

Androidアプリの場合PlayConsoleがあり、配信しているアプリがどれくらいの数インストールされているのか。どれくらいアンインストールされたのかなどが表示される管理場所があります。
PlayConsoleはSearchConsoleのアプリ版です。
PWAは現状そういった管理場所がないんですよね。
ホーム画面に追加された数などを知れれば良いのですが、それがわかりません。
ここがネイティブアプリとの大きな違いかなと考えております。

このブログにプッシュ通知を送信する機能は実装していませんが、おそらく管理場所がなくインストールされている数がわからないので機能を実装してプッシュ通知を送信してもどれくらいの人に届くのかまではわからないのではないかと考えております。

ですので、PlayConsoleで管理できるというのがネイティブアプリの良さの1つだと思います。これは現状かなり大きな違いではないでしょうか

PWAをネイティブアプリと比較するとこのような違いが考えられますが、決してPWAを否定しているわけではございません。
このブログに実装しておりますし、今後に期待しています。実装しようとしている目的とPWAでできることの範囲が合致すればとてもいい機能だと思います。

今後PWAの認知が広まっていきPlayConsoleのような管理場所ができてくれたら良いなと考えております。