QA@IT

Titanium MobileとPhoneGapの違いって何ですか?

4750 PV

JavaScriptでiPhoneやAndroidのアプリが開発できることで有名なTitanium MobileとPhoneGapですが、どちらを選んだらいいのかわかりません。それぞれの違いや長所と短所を教えてください。

回答

筆者が主に使っているのはTitanium Mobileなので、それなりのバイアスが働いているものとしてご一読ください。以前、「どうしてTitanium Mobileなの?」というエントリを書いたこともあるので、そちらも合わせてご覧頂ければと思います。

モバイル向けクロスプラットフォームの開発ツールとして有名なTitanium MobilePhoneGapですが、いちばん大きな違いはPhoneGapはHTML5とJavaScriptを利用したウェブアプリケーションをスマートフォン特有の機能にアクセス可能に拡張したものである一方、Titanium MobileはJavaScriptを経由してネイティブのAPIを呼び出すことで、画面上のUIも含めてプラットフォームのネイティブの機能を利用できることです。

文章にするとややこしいですね。誤解を恐れずにいうと、

・PhoneGapはHTML5アプリをスムーズに作成するツール
・Titanium MobileはJavaScriptでネイティブのアプリを作成するツール

です。

急いで言い訳すると、PhoneGapもプラグインを作成してネイティブのAPIを叩くことは可能です。Titanium MobileだってWebViewを使ってHTML5のアプリを動かすなんてお茶の子さいさいです。しかし、PhoneGapのプラグインを作成するのはかなりの知識が必要で、Titanium Mobileを使ってHTML5だけのアプリを作るのももったいない感じがします。

PhoneGapのいいところは、Dreamweaverと統合されていたり、HTML5に長けた人がアプリもちょろっと作るのには適しているところです。短所は、HTMLでいくら頑張ってもネイティブのUIのようにはなりません(特にiOS)のでニセモノっぽくなってしまいがちです。Titanium Mobileの長所はJavaScriptだけでネイティブアプリを作成できるので、ちょろっと書いただけでも「オレってスゲーッ!」感を味わうことができます。ただし、HTML5を知っていればそのまま知識を流用できるPhoneGapと比べると、ブラウザで実行するJavaScriptよりもNode.jsやActionScriptに近いものがあるので、習得が難しい面もあります。

以上のような特徴を備えた両ツールですが、どちらも決定的なアドバンテージがあるわけでもなく、また同様にディスアドバンテージもありませんので、利用にあたってはいま自分が持っているスキルセットと、これからの技術的展望をしっかりもって選んでいけばいいでしょう。結局、アプリの開発をやっていればいずれはネイティブのAPIの深いところまで知りたくなってくるはずです。そのときはObjective-CやJavaの知識は欠かせませんが、それらを学ぶにあたっての導入として、PhoneGapやTitanium Mobileのようなツールは悪くない入り口だと思います。

どちらのプラットフォームもこうして夜な夜なユーザーを奪い合っていることは、いうまでもありません。

編集 履歴 (1)
ウォッチ

この質問への回答やコメントをメールでお知らせします。