HTML5 vs ネイティブ。モバイルアプリはどちらで開発するべき?(後編) Google I/O 2011

2011年5月25日

モバイルアプリケーションを開発する方法として、JavaやC/C++とSDKを用いてネイティブアプリケーションを開発する以外に、HTML5/CSS/JavaScriptを用いて開発する方法が登場してきています。

この2つのアプリケーション開発にはどのような違いや利点があるのでしょうか? Androidを題材にして解説したセッション「HTML5 versus Android: Apps or Web for Mobile Development?」がイベントGoogle I/O 2011で行われました。

(この記事は「HTML5 vs ネイティブ。モバイルアプリはどちらで開発するべき?(前編) Google I/O 2011」の続きです)

ネイティブアプリケーションを開発する理由

Reto Meier氏。Web技術でアプリを作るのはたしかになかなかいいアイデアだと思う。クロスデバイスが容易に実現できる。

fig

ではネイティブアプリケーションとは何を意味するのだろう?

fig

Javaを使うDalvik仮想マシン上で開発すること、あるいはNative Development KitでC/C++で開発すること。

またRenderscriptは高速なレンダリングを実現する。Google BooksのページめくりやYouTubeのダイナミックギャラリーなどはこれで作られている。

fig

ネイティブアプリケーションを選択する理由はなんだろうか? よりリッチな体験を実現するため、ハードウェア資源にアクセスするため、システムの機能との密接な統合を実現するため、などが挙げられる。

fig

あるいは、より強力な、高速でスムーズなアプリケーションを実現するためだ。

fig

モバイルでは、新しいハードウェア、新しいソフトウェアのイノベーションが続いており、これらを利用した最新のソフトウェアを開発する場合もある。

fig

標準はつねにイノベーションに続いてくる。例えばNFCはこれから多くのデバイスに搭載されるだろう、タブレットのUSBアクセサリなども。こうしたイノベーションは続いていく。

fig

ネイティブアプリケーションでは、10本指のマルチタッチ、テレフォニー、Wifi、SIP、USBなどさまざまなAPIが利用可能になっている。

こうしたローレベルなAPIにアクセスできることは、ハードウェアとのインタラクティブな体験にとって重要なものだ。

fig

ネイティブアプリケーションは真のバックグラウンドアプリケーションも実現する。

よくある例はミュージックプレイヤーだが、それ以上のものを実現できる。継続的に情報をチェックするようなアプリなどでは、バッテーリ―消費量と連係して動作することができる。

fig

また完全なオフラインアプリケーションも実現する。HTML5でもオフラインはサポートされているが、それ以上のものだ。コンテンツ全体をダウンロードしてサーチしたり、そのあと回線を接続して同期する、といったリッチなユーザー体験を実現する。

ウィジェットやライブウォールペーパーなどもネイティブアプリケーションで実現できるものだ。

fig

Webは未来、ネイティブは強力

両者を比較してみよう。

HTML5はさまざまなデバイスに対応し、多くの機能を備えたオープンなテクノロジーだ。一方でネイティブアプリケーションはプラットフォームやハードウェアと密接に連携できる。

fig

どっちがいいか、単純な答えが聞きたい人は? (会場笑)

もちろん単純な答えはない。私たちグーグルは両方やっている、それが基本的な答えだ。Webが未来であることははっきりしている、それを無視することはできない。しかしネイティブアプリケーションは強力なソフトウェアを作ることができる。

モバイルブラウザからWebコンテンツへアクセスするケースは増えている。例えば、Embedded Web Viewsという方法を紹介しよう。これはアクションバーや操作はすべてネイティブコードで記述し、Webコンテンツの表示はWeb Viewで行う、というものだ。

fig

すでにいくつかのアプリケーションでこの方法は採用されている。

あわせて読みたい

HTML/CSS Web技術 Android Google モバイル




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本