「PhoneGap」で楽にやる

そこで、さまざまなプラットフォームへの対応をより容易にしてくれるのが、HTML5アプリ向けのフレームワークです。

 これにはいくつかの種類がありますが、その中でも「PhoneGap」が最もよく使われています。

[browser-shot url=”http://phonegap.com/” width=”400″]

【PhoneGap】http://phonegap.com/

 「PhoneGap」を利用すれば、JavaやObjective-Cのコードをまったく書かずに、HTML5だけをコーディングしてアプリを作ることが可能です。

また、いくつかのデバイス操作系命令をHTML5(JavaScript)から呼び出す仕組みをあらかじめ備えており、カメラなどのデバイスを利用するのもとても簡単です。

利用できる機能の一部。多くの機能をクロスプラットフォームに利用できる。

加速度センサカメラ電子コンパス
ネットワーク状態ネイティブストレージ操作通知機能

 とはいえ、「PhoneGap」も万能ではありません。
「マルチプラットフォーム」への対応に特化する一方で、以下のような欠点も持っています。

● 拡張性

HTML5はデバイスへのアクセスがネイティブに比べると不自由で、実装可能な機能の幅が制限されます。
また、デバイス機能の利用もネイティブほど柔軟ではありません。

● 統一性

OSネイティブな他のアプリと比べて、「操作性」や「ユーザー・インターフェイスのデザイン」で差異が出てしまいます。

● デバッグ性

デバッガーの機能が利用できないため、ネイティブに比べてデバッグが難しくなる傾向にあります。

 よく「HTML5は簡単である」と言われますが、筆者は必ずしもそうではないと思っています。
単一プラットフォームに向けてアプリを開発する場合は、やはりそのネイティブ環境で開発するのが楽なケースが大半です。
これらの点を重視しない場合で、「マルチプラットフォーム」が必要なアプリケーションでこそ、「PhoneGap」は特に強力になります。

Column「PhoneGap」と「Apache Cordova」

「PhoneGap」は、Apacheプロジェクトにより開発されているオープンソースなフレームワーク「Cordova」をベースに、Adobeが付加サービスを含めて展開しているものです。
基本的に、両者のソースコードに違いはありません。