HTML5 vs ネイティブ。モバイルアプリはどちらで開発するべき?(前編) Google I/O 2011
HTML5でモバイル開発を行う利点
Reto Meier氏︵左︶、Michael Mahemoff氏︵右︶。![fig](http://www.publickey1.jp/blog/11//html5vsandroid01.jpg)
HTML5とネイティブアプリケーションについて、その違いやそれぞれの利点について紹介したいと思う。
![fig](http://www.publickey1.jp/blog/11//html5vsandroid02.jpg)
Mahemoff氏。まずはHTML5のケースについて紹介しよう。
HTML5はすでにモバイルプラットフォームで使える技術であり、多くの機能を備え、広く使われているオープンな仕様である。
![fig](http://www.publickey1.jp/blog/11//html5vsandroid03.jpg)
ネイティブアプリ? なんのネイティブ? OSのバージョンも複数あり、プログラミング言語も違うし、環境が変われば学習しなおさなければならない。テストにも時間がかかるだろう。
![fig](http://www.publickey1.jp/blog/11//html5vsandroid04.jpg)
HTML5はさまざまなデバイスに対応できる。どのデバイスもWebブラウザを備え、HTML5に対応している。タブレットにも、テレビにも。さまざまなOSに対応している。Webアプリケーションなら、どんなプラットフォームでも利用できるのだ。
![fig](http://www.publickey1.jp/blog/11//html5vsandroid05.jpg)
HTML5はフレキシブルだ。HTMLでコンテンツを、JavaScriptでロジックを、CSSでデザインを設定する。CSSで同じコンテンツに対して画面の大きさの違いにも対応できる。
![fig](http://www.publickey1.jp/blog/11//html5vsandroid06.jpg)
HTML5の機能を見てみよう。ジオロケーションの地理情報や、マルチタッチ、カメラのようなデバイスAPIや音声認識といった入力機能を備える。
![fig](http://www.publickey1.jp/blog/11//html5vsandroid07.jpg)
アウトプットには、Canvasによる描画やビデオなどの機能も備える。
![fig](http://www.publickey1.jp/blog/11//html5vsandroid08.jpg)
AjaxやWebSocketなどのネットワーク機能も実現している。オフラインも備える。こうした多機能なのがHTML5だ。
![fig](http://www.publickey1.jp/blog/11//html5vsandroid09.jpg)
![fig](http://www.publickey1.jp/blog/11//html5vsandroid10.jpg)
(では、ネイティブアプリケーションの利点とは何か? 続きは「HTML5 vs ネイティブ。モバイルアプリはどちらで開発するべき?(後編) Google I/O 2011」で)