ここ数年、私たちは様々な用途のアプリについて語ってきました。モバイルアプリは、モバイルデバイスに新しいサービスやコンテンツを配信するための、依然として最も好まれる手段であり続けています。
しかし、「アプリ」という概念そのものが大きな変化を迎えようとしているかもしれません。App StoreやAndroid Marketに行く代わりに、ホーム画面上のリンクをクリックするだけでブラウザでアプリを起動できる日が近い将来来るかもしれません。
ネイティブアプリが主流に
モバイルデバイス向けアプリを開発する場合、開発者は通常「ネイティブアプリ」を構築します。これは、アプリストアで購入してスマートフォンのメモリにインストールするタイプのアプリです。ネイティブアプリは、スマートフォンに機能を追加するための事実上の標準となっています。

これまでのところ、ネイティブアプリはブラウザベースのアプリよりも見た目もパフォーマンスも優れていると、ほとんどの開発者が同意するでしょう。しかし、多くのユーザーは、モバイルブラウザは使いにくく、特にデータ入力が必要なときに使いにくいため、避けるべきものとして捉えてきました。
ネイティブアプリはブラウザベースのアプリよりも予測可能性が高くなっています。ネイティブアプリはスマートフォンのメモリから実行されるため、様々なモバイルブラウザでの表示方法に予測不能性や一貫性のなさが生じることがありません。
さらに、ネイティブアプリはネットワークへの依存度が低くなります。ネイティブアプリはコンテンツの多くをスマートフォンに保存するため、ブラウザアプリのようにネットワーク接続に依存しません。ブラウザアプリは通常、クラウド内のサーバー上に存在し、コンテンツを取得するためにWi-Fiまたはモバイルデータ通信を介して常にクラウドにアクセスする必要があります。ネットワーク接続が不安定または利用できない場合、ブラウザアプリのパフォーマンスが大幅に低下する可能性があります。
しかしネイティブアプリは面倒だ
長い間、リソースが限られている開発者は、Apple iOS デバイスや Android デバイス向けのアプリを開発してきました。そうすることで、最も多くの携帯電話にアプリを届けることができるからです。
しかし、この論理は力を失い始めています。その理由の一つは、ネイティブアプリをアプリストアで販売することが開発者にとって難しいことです。iOSアプリの場合、App Storeにアプリを承認してもらうことさえ困難です。Appleは承認申請されたすべてのアプリに同じ基準を適用していますが、開発者によると、Appleが何らかの理由でアプリを気に入らなければ、却下されるとのことです。
開発者にとって、自分のアプリを Android マーケットで受け入れてもらうことはそれほど難しくないが、そのアプリはストア内の何千もの他のアプリ(その多くは低品質のプログラム)の中ですぐに埋もれてしまう可能性がある。
アプリ開発者にとってもう一つの問題は、異なるモバイルOS(iOS、Androidなど)向けに、そして場合によってはOSファミリーの異なるバージョン向けに、ネイティブアプリの複数のバージョンを作成しなければならないことです。そのため、開発者はアプリの改良や新規開発を行う代わりに、アプリの「バージョン管理」に多くの時間と費用を費やさなければなりません。
スーパーマーケットで迷子

前述のように、アプリストアに登場したネイティブアプリは、ほとんど注目されない可能性があります。アプリストアが拡大し、粗悪なアプリや役に立たないアプリで肥大化するにつれて、アプリへのアクセスはますます面倒になっています。WildTangentの副社長であるマット・シア氏は、大手アプリストアはあらゆるカテゴリーのアプリをワンストップで提供しているため、扱いにくく、アプリを適切に分類・整理できていないことが多いと述べています。その結果、アプリ購入者は、ストアに目的のタスクに最適なアプリが存在していても、見つけることができません。これはアプリ開発者にとって大きな問題です。
Shea 氏は、大手アプリ ストアでのアプリのカタログ化が不十分なことが、WildTangent のような専門アプリ ストアの増加の一因になっていると語る。WildTangent はゲームだけを提供し、それらを注意深く分類して、訪問者が探しているアプリをより簡単に見つけられるようにしている。
HTML5 が答えでしょうか?
モバイルコミュニティの多くの人々は、開発者がブラウザベースのアプリを開発する際にHTML5を使用すれば、これらの問題を回避できると考えています。HTML5は、1999年以来初のハイパーテキストマークアップ言語のアップグレードです。W3C(Worldwide Web Consortium)によるHTML5の公式標準は2014年まで完成しませんが、最新のモバイルブラウザのほとんどは既にこの言語をサポートしており、多くのWeb開発者が既にHTML5サイトを設計しています。

簡単に言うと、HTML5によって、デスクトップ版とモバイル版のブラウザで、位置情報の検出やプラグイン不要の音声・動画再生など、多くの便利な新機能が利用できるようになります。同期機能も向上し、職場で映画を途中まで視聴し、通勤電車で帰宅する途中で続きを見るといったことも可能になります。
HTML5の最大の潜在的メリットは、アプリ開発者が各アプリの単一バージョンの作成に集中できるようになることかもしれません。これにより、アプリは様々なブラウザでスムーズに動作し、より多くの、より優れたアプリを市場に投入できるようになります。また、バージョン管理という煩雑な作業に費やす費用を減らし、マーケティングやプロモーションにより多くの資金を投入できるようになるかもしれません。
ネットワークも重要な要素です。3Gネットワークの10倍の速度でコンテンツを配信できる4Gネットワークの登場により、ユーザーはネットワークからコンテンツをこれまでよりもはるかに高速かつ確実に取得できるようになります。そして、ブラウザベースのアプリがネイティブアプリに匹敵するパフォーマンスを実現できる可能性ははるかに高くなります。
プロモーションの観点から言えば、ブラウザベースのモバイルアプリは開発者のアプリストアへの依存度を軽減します。ネイティブアプリが成功する可能性を高めるには、開発者はアプリストアを通じてプロモーションを行う必要がありますが、ブラウザベースのアプリはTwitterやGoogle+などのソーシャルメディアを介したWebプロモーションに適していると支持者は主張しています。
留まるべきか、それとも去るべきか?
ほとんどの開発者は HTML5 は改善されていると考えていますが、実際の使用例ではネイティブ アプリの方がブラウザー アプリよりもパフォーマンスが高く、高速であると述べています。
このような状況の原因の一つは、アプリがスマートフォンの機能にアクセスすることです。多くの開発者は、HTML5アプリはスマートフォンの様々なハードウェア機能(プロセッサや加速度計など)をネイティブアプリほど制御・活用できないと述べています。
しかし、スマートフォンのハードウェア資産の制御に関して、HTML5 がネイティブ アプリと同等に近づいている速度はどのくらいなのかという問題については、かなりの議論が交わされています。

「位置情報などの機能を提供するJavaScriptバインディングは、もちろんほとんどのモバイルブラウザで既に利用可能です」と、Qualcomm CDMAのプロダクトマネージャーであるSy Choudhury氏は述べています。「今後6ヶ月以内に、位置情報のより高度なバージョンに加え、GPUにアクセスするためのWebGL、カメラ/ビデオカメラへのアクセス、そして現状を超えるより高度なオーディオコントロールといった新機能が追加されるよう進化していくでしょう。」
Choudhury 氏と彼のチームは、モバイル デバイス向けの Qualcomm の Snapdragon プロセッサ上での Web ブラウザーとオペレーティング システムのパフォーマンスの最適化を担当しています。
「数か月前から、様々なブラウザベンダーから、加速度計、デバイスの向き、位置情報、カメラ統合など、これらのアプリが活用できる機能を紹介するデモが公開され始めました」と、Mozillaモバイルブラウザプロダクトマネージャーのトーマス・アーレンド氏は付け加えます。アーレンド氏は、Mozilla開発者サイトで紹介されているダッシュボードの例を挙げています。
一貫したエクスペリエンスを提供することも課題です。HTML5ブラウザアプリはブラウザやデバイスによって動作が異なるため、開発者にとって、すべてのモバイルユーザーが自分の環境でアプリの動作に満足できると保証することは困難だと一部の開発者は指摘しています。

しかし、ブラウザベースのアプローチを採用することは必ずしもデメリットではないとアーレンド氏は言います。「Webをプラットフォームとして利用すること(HTML5、CSS3を使用)は、デバイスごとにサイロ化されたユーザーエクスペリエンスではなく、デバイスやプラットフォーム間で一貫性のあるパーソナルなユーザーエクスペリエンスを実現するための最も有望な方法です」とアーレンド氏は言います。「適切に設計されたWebアプリは、ユーザーにとってネイティブアプリケーションと区別がつかないほどです。」
他の新しいテクノロジーと同様に、普及はベルカーブを描くように進むでしょう。そして、アーリーアダプターはすでに行動を起こし始めています。例えば、Pandoraは自社のアプリケーションをHTML5に移行すると発表しており、クラウドストレージ企業のBox.netもHTML5への移行を予定しています。さらに興味深いのは、AmazonがHTML5で作成されたブラウザベースのKindleアプリをまもなくリリースするという、興味深い噂です。
「どちらか一方」の問題ではない
ネイティブアプリとブラウザアプリをめぐる激しい議論を経ても、多くの開発者はどちらか一方を選ぶという決断に直面することはありません。実際、どちらの種類のアプリにも活用の余地があるかもしれません。
たとえば、Mozilla の Arend 氏が指摘するように、ゲーム開発者はブラウザベースのゲームの「ライト」バージョンを作成し、購入希望者がアプリ ストアにアクセスしなくてもゲームを試用できるようにすることがあります。そして、ゲームが気に入った場合は、ネイティブ アプリとして完全版を購入する可能性があります。
さらに、開発者は多くのネイティブアプリをブラウザアプリとほぼ同じ方法で(同じツールを使って)構築しますが、ネイティブアプリ用の「ラッパー」を組み込みます。そのため、ネイティブアプリとブラウザアプリは、人々が想像するほど違いがない場合があります。
開発者は最終的に、配布方法を考慮して、ネイティブアプリとブラウザベースアプリのどちらを開発するかを決定するでしょう。開発者は、アプリストアでの配布とオープンインターネット(およびソーシャルメディア)での配布のどちらがユーザーを惹きつけるのに最適な方法なのかを自問する必要があります。
多くの人にとって、スマートフォンはダウンロード可能なアプリという概念とセットで注目を集めました。スマートフォンが初めて市場に登場した当時、デバイス上でタスクを実行する最良の方法はネイティブアプリであることは明らかでした。しかし、その後状況は変化しました。モバイルブラウザの進化、ブロードバンドの高速化、そしてHTML5の登場が間近に迫る中、ワイヤレスコミュニティの多くの人々は、ネイティブアプリがモバイルユーザーにコンテンツやサービスを提供する最良の方法であるという固定観念に疑問を抱き始めています。
HTML5 が本格的に導入されると、モバイル ブラウザはより良い、あるいは少なくとも別の方法になるかもしれません。