- 2013年06月19日 08:39
Webアプリ vs ネイティブアプリ
QixilでWebアプリとネイティブアプリに関する質問に回答しました。自分の中での思考整理になった面もありますので、文章を整えて本ブログにも転載しておきます。
※今回の比較では、課金/決済やリジェクトのリスクなどに関する話は割愛します。
- Webアプリ
○複数OS対応コストが低い
基本的には同じソースでiOS/Android OSに対応することができます。
○サービスに誘導しやすい
SNSなどでサービスが拡散された際に、ブラウザですぐサービスにアクセスすることができます。
○リアルタイムで更新できる
サービスの改善⇒反映をリアルタイムで進めることができます。
○技術者の数が多い
ネイティブアプリと比べれば、Webアプリのフロントエンドの実装ができる技術者の数は多いと思います。(ただし、HTML5やJavaScriptを使いこなせる技術者が多いとは思いませんが。。)
×操作性やレスポンスが悪い
ネイティブアプリに比べてリッチ/なめらかな動きの実現が難しいです。また、やはりレスポンスも劣ります。
×プッシュ通知が使えない
受動的なユーザーにお知らせを伝える手段がメールしかありません。
×ホーム画面に配置されづらい
ブラウザのブックマークをホーム画面に追加することもできますが、その文化はあまりないと思います。
- ネイティブアプリ
○操作性やレスポンスに優れている
操作性や表現力に富み、軽快なレスポンスを体感できるサービスを作ることが可能です。
○プッシュ通知が使える
端末のプッシュ通知はユーザーの呼び戻しや継続率の向上に効果があります。
○必ずホーム画面に配置される
アプリがホーム画面に配置されることで、サービスへのアクセス頻度や中毒性が高まります。
×複数OS対応コストが高い
iPhoneアプリとAndroidアプリを別々に開発しなければなりません。改修の際も二重に手間がかかります。
×サービスに誘導しにくい
SNSで拡散されても、アプリをダウンロードしてもらわないと使ってもらうことができません。
×リアルタイムで更新できない
iPhoneアプリはアップデートの度に申請⇒審査というステップを踏む必要があるため、リアルタイムでサービスの改善ができません。例えば、重大なバグが発見された時もすぐに修正ができないので、その間にユーザーが離れてしまう危険性があります。
×技術者の数が少ない
ネイティブアプリの実装経験豊富な技術者はまだ少なく(また各所から引っ張りだこであるため)、人材の確保が難しいです。
これらを踏まえると、まずWebアプリをリリースし、次にそれをネイティブアプリでラッピングしてリリースする戦略は、ある種Webとネイティブのいいとこ取りなのかも知れません。
ただし、最近は完全なる側アプリ(ネイティブ側で実装された画面や機能がほとんどないアプリ)の場合、ネイティブアプリに慣れているユーザーにとってはストレスが大きくなりすぎてしまう傾向があるように思います。(Webアプリをネイティブでラッピングすると、ブラウザからアクセスした場合よりも操作性やレスポンスが悪くなってしまうこともあるようです)
ですので、これからは1つのアプリの中で、ネイティブで作る画面とブラウザを読み込む画面を混在させる(=ハイブリッドアプリ)というのをうまく活用できると良いのではないかと思っています。
ハイブリッドにする場合は、画面毎にネイティブ/Webどちらにするかの意思決定が必要になりますが、個人的には、コンテンツ重視の画面(例:ニュース記事の詳細画面など)であればWebベースでも許容され、操作感やレスポンス重視の画面(例:LINEのトーク画面など)はネイティブで作り込まないと厳しいという考え方をしています。
あとは感覚論的な話なのですが、ユーザーはブラウザを使う際には「サーバ上の情報にアクセスする」、ネイティブアプリを使う際には「器(アプリ)の中に情報を呼び込む」イメージが強いと思っています。そういったユーザー心理に反さないような形でプロダクトを提供するというのも大切な気がします。
今後またWebアプリでできること、ネイティブアプリでできることは変わっていくと思いますが、少しでも参考になれば幸いです。
- 渡辺将基(Masaki Watanabe)
- ロジカルに考え、シンプルに生む