GAミント至上主義

Web Monomaniacal Developer@ビズオーシャン

PWAのゴールはネイティブアプリ"ではない"ことを敢えて意識する

現在、bizoceanでVue.jsを使った履歴書のPWAアプリ(リリースは夏頃できたらいいなぁ)の企画、開発中や、先日下記のセミナーに出たりした思ったことをまとめておく。

japan-android-group.connpass.com

今北産業

  • PWAの技術を使ってもネイティブアプリと全く同じにはできない
  • PWAのメリットもデメリットもWEBブラウザアプリであることによる
  • PWAのゴールはユーザーの利便性を向上させること

そもそもPWAって?という疑問にはやはり言い出しっぺのGoogleさんの記事が間違いないと思う。

はじめてのプログレッシブ ウェブアプリ  |  Web  |  Google Developers

ネイティブアプリと全く同じ体験であることをゴールにするといろいろつらい

PWAは名前のとおりProgressiveな(進んだ)Webアプリであり、もうちょっと正確にいうとWEBブラウザのアプリ。

でも、上述のセミナーや巷では結構、ネイティブアプリとの比較が多く出るし、ネイティブと同じことが善とするような風潮がある。

でも、PWAがスマホのネイティブアプリの代わりになって、ネイティブアプリはいらなくなるとか、PWAの技術(Service WorkerとかPushとか)を使えば、ネイティブアプリと変わらないものを作れるみたいな考えをしたり説明しようとすると、少なくとも現時点ではいろいろつらい。

たとえば下記のようなつらみ

  • アプリなのにアプリストアに出ない(App StoreGoogle Playとか、Windowはもうすぐ出るんだっけ)
  • 日本はiPhone多いのにプッシュ通知できないの?(Service Workerは最近動いたけど)
  • UIがネイティブと違って分かりにくい(似せられるFWもあるみたい)
  • WEBサイト見てたのに突然「インストール」が出てきたらなんか怖いからインストールなんてしないだろ

ネイティブ基準にするとPWAの問題点ばっかりでて暗い雰囲気になるし、まだいいやみたいな感じでやる気もなくなる。

あとUnityとかゲーム等で処理速度を求めて、ハードウェアの低レベル操作が必要なものはネイティブと同等になることは無いと思う。

PWAはあくまでWEBアプリであり、ネイティブアプリと同等の体験を目指さなくていい

よくいわれるPWAの特長としては

  • ブラウザ感を消せる(manifest.jsonでの"display": "standalone")
  • オフライン対応(Service Workerでのキャッシュ)
  • プッシュ通知(pushManager)
  • HOME画面に追加のポップアップ(前からブラウザでやればできてた)

と書いてみるとどれも今までWEBアプリでは難しく、ネイティブでしかできなかったことばかりで自分でも何を言おうとしてたのか分からなくなる。

が、どれも別にネイティブと同じにしようとしてるわけではなく、今までWEBアプリに足りなかった機能を追加することで、ユーザーにとって便利なサービスを提供するのがゴールであると思う。

そして、PWAはWEBアプリなので、上記以外にWEBアプリとしての長所がたくさんある。

PWAの強みと向いているもの

何度もいうようにPWAはWEBアプリなので、ネイティブと比べたWEBアプリの強みそのままかもしれない

大きくWEBアプリの強みとして

  • インストール不要で検索からすぐ開ける
  • 開発コストの削減、スピードアップ
  • アプリストアなどのプラットフォーム依存からの脱却

が挙げられると思う。

そしてそれを活かせるものとして書きが考えられる

使用頻度が少ないもの

例えば、毎日何度も使われるようなInstagramTwitter、LINEなどはロイヤリティが高いもので、それらをずっとWEBブラウザで見ることは普通しない(そもそも見れない場合も)。

セミナーではロイヤリティとかエンゲージメントが低いという言葉を使ってた気がする。

でも、スマホにインストールするアプリの数は、人によって差はあれど限界はあるので、たまーに使うものはインストールせずWEB検索で済ますことが多いはず。

私でいうと、料理はたまーにレシピを探す程度なので、Cookpadみたいなアプリは入れずググってなんとかする。あと釣りにいくときに使う潮見表は以前アプリを入れてたけどそこまで頻繁に行かないのでWEB検索で済ますようになった。

あとプロモーション、ブランディング目的の情報サイト(セミナーでは大手の化粧品サイトが出てきた)や、都度検索する読み物系(How toとか)は、いちいちアプリをインストールすることは少ないと思う。

リアルイベントでのキャンペーンもQRなり、検索ワードなどでインストール不要でアクセスできるWEBアプリの方が便利そう。

また中国での成功事例もEC系が多い。

今回作っている履歴書アプリも一般的にはたまにしか使わないはずなので、WEB検索で使ってもらって、気に入ったら転職活動中だけインストールして使う、みたいな感じで使えるので、ちょいどいい用途だと感じた。

新規サービス系

PWAというかWEBアプリが圧倒的に強いのは開発コストの低さだと思う。私もずっとHTMLを書いたり、jQuery使ったり、WordPressを使ったり、Djangoやったりしてきた人間なので、これが一番恩恵がでかい。

WEB系の開発環境は一番進んでると思うし、なにしろ今までの言語(HTML、CSS、JS)や環境(サーバー、ブラウザ)がそのまま使えるのだから。

まだ何をどう作ればいいかわからない、必要とされるかすら分からない新規サービスでは、限られた予算と時間でiPhoneもAndoroidもPCも同時になんてのは現実的ではない。

その点WEBアプリなら快適さや利便性はそれぞれのネイティブには及ばないとしても、プロトタイプとしては十分以上のものが作れるし、スマホがターゲットならIEを無視して、あまり機種差も気にしなくていい。

さらに変更も、アプリストアの審査も不要でこちらの都合で更新ができ(SWのキャッシュは気をつけないといけないかも)

そして、もしネイティブであることのメリットが少ないサービスであれば、そのまま成功するサービスが日本でも出てくるかもしれない。

まとめ

数日間に分けて、パラパラと書いたのでまとまりがない感じになったけど、PWAもネイティブアプリも、それぞれの長所を生かし、新しい技術を使ってユーザーにとっていいものを作ればいいよねが一点。

あとWEB系開発者としてはWEB開発は自由で快適で面白くて速いから、ブラウザにはどんどん進んでいってほしいなと思いました。