HTML5/CSS3とスマートフォン・アプリケーション
少し前から、HTML5/CSS3についていろいろと調べ物をしていまして、今のところ出た結論を書いていこうかと思います。ここでは、HTML5/CSS3をPC環境ではなく、スマートフォン環境で利用してもらうことを想定しています。
スマートフォンのHTML5/CSS3対応状況
ここでは、Appleから提供されているiPhoneとGoogleから提供されているAndroidについて見ていくことにします。iPhoneは現在のところ、HTML5/CSS3の多くの機能が既にSafariブラウザにて実装されているようです。またAndroidは、OS1.6は未対応ですが、OS2.1からはHTML5/CSS3への対応が進んでおり、多くの機能が使えるようです。日本で一番初めに発売されたAndroid端末であるDoCoMoのHT03-A機については、OSが1.6ということで、HTML5/CSS3が未対応なのが残念ですが、今後1~2年でHT03-Aを使うユーザも減ってきて、本格的にAndroidでもHTML5/CSS3に対応できるのではないでしょうか?
Windows Mobile機については調べてはいないのですが、PC版ではSafariやGoogle Chrome、OperaなどがHTML5/CSS3に対応しているので、それらのブラウザをインストールすればWindows Mobile機についてもiPhoneやAndroidと同様にHTML5/CSS3が使えるのではないでしょうか?
モバイル・アプリケーションをHTML5/CSS3で作る
今見てきたように、現在日本で発売されているiPhone/Androidでは、HT03-A機を除くほぼ全てのスマートフォンにおいて、HTML5/CSS3の(一部の)機能を利用できるようです。これらの端末で使える機能の1つとして、Web Databaseを使えるというのが大きいのかもしれません。ほかにもWeb StorageやWeb Workersが利用可能であったり、GPSを用いて、現在位置の座標を特定することが可能です。なので、多くのiPhone/Android端末に対して、各プラットフォームに依存したネイティブ・アプリケーションを開発するのではなく、HTML5/CSS3を用いて、iPhoneでも動く、Androidでも動く、というアプリケーションを設計するのもありかもしれません。
では、次は、HTML5/CSS3でモバイル・アプリケーションを実装するメリットとデメリットについて書いてみようかと思います。
モバイル・アプリケーション Of HTML5/CSS3のメリット・デメリット
モバイル・アプリケーションをHTML5/CSS3で実装することには、メリットも多くありますが、当然のごとくデメリットも存在します。ここでは、モバイル・アプリケーションをHTML5/CSS3で実装することのメリットとデメリットを挙げていこうかと思います。
メリット
- iPhone/Androidなどのプラットフォームごとにアプリケーションを開発する必要がなく、ソースコードの一元管理が可能になる。
- 今は存在しない、モバイル端末が現れても、(HTML5/CSS3にさえ対応していれば)すぐにアプリケーションを提供できる
- 開発環境を新しく用意する必要がない(iPhoneアプリの開発にはMacが必須など)
- 動作のテストは、モバイル端末の小さい画面ではなく、PC上のブラウザで行える
デメリット
- HT03-A(Android)ユーザを完全に無視することになる(自分はHT03-Aユーザなので結構痛いw)
- Apple Store/Android Marketといったアプリケーション配布のプラットフォームの恩恵に授かれない。
- 端末のAPIの利用がほとんどできない。(現状、GPSから座標を得ることができるくらい?カメラ・アプリを起動したり、他アプリケーションとの連携、加速度センサーの利用などは無理)
- Webにつながっていない状態では利用できない(もしかしたら、利用できるかも。しっかり調べてみます。)
- HTML5/CSS3を効率よく開発できる統合開発環境がまだ少ない
- HTML5/CSS3に関する情報が得にくい
メリット・デメリットのまとめ
ここで挙げたデメリットの中には、HT03-Aの存在や、統合開発環境の問題、情報が少ないという問題のように、時間が経てば知らない間に解消される問題もあるが、中には、端末固有のAPIが利用できないといった致命的な問題も存在する。
何でモバイル・アプリケーションを開発する?
では、何か新しいモバイル向けのアプリケーションを開発したい、となったときに、何を使って開発するべきか?というのが問題になってくるでしょう。そのためには、上でデメリットとして挙げた、HT03-Aユーザにも提供するべきアプリケーションであるのか?や、作りたいモバイル向けアプリケーションで利用したい機能は何なのか?(端末固有のAPIを使用する必要はあるのか?)などがあります。逆に言えば、HT03-Aユーザを切ってしまう勇気と、端末固有のAPIを使用する必要がなく、HTML5/CSS3に関する情報が得られる環境にいるのであれば、Objective-CやJavaを使って端末ごとのアプリケーションを開発する必要はないということです。
ということで、何かHTML5/CSS3を使ったアプリケーションを開発してみたいなぁ。
関連記事
- HTML5の機能を使って簡単なゲームを作ってみた
- Android Marketに公開して3週間
- mixiアプリでMovableTypeの記事を表示させる。
- Androidアプリ開発に関する本の紹介
- HTML5における新しいフォームのマークアップ
[PR]
トラックバック
http://yamablo.com/2010/07/31-133013.php/trackback

