PhoneGap、Titanium、Sencha--それぞれ異なるモバイルアプリ開発のアプローチ

杉山貴章(オングス)
2012-01-18 15:45:00
  • このエントリーをはてなブックマークに追加

単一のコードベースから複数のプラットフォームへ展開する

 通常スマートフォン向けのアプリケーションは、そのプラットフォームごとに特定の言語で開発する必要がある。iPhoneやiPadであればObjective-C、AndroidやBlackBerryであればJava、Windows PhoneであればC#やVisual Basicといった具合だ。

 しかし、複数のプラットフォーム向けに同じアプリケーションを提供したい場合、それぞれの言語で個別に開発を行うのは非効率的であり、開発者の負担も大きい。

 そこで近年では、単一のコードで開発し、それをベースとして各プラットフォームで実行できる形式に変換するというアプローチが一般的になってきている。この方法であれば、1度の開発で複数のプラットフォームをターゲットにすることができるため、開発の手間は大幅に削減される。言語の習得にかかる開発者の負担も軽減できる。

 今回は、そのようなアプローチを実現するために不可欠となる開発ツールの中から「PhoneGap」「Titanium Mobile」「Sencha Touch」を取り上げて紹介する。最初に今回取り上げるツールの特徴を表にまとめた。開発ツールを選ぶ際の参考にしていただきたい。

PhoneGapTitanium MobileSencha Touch
アプリケーションの形態ネイティブ(Webベース)ネイティブWebアプリ
開発言語HTML、CSS、JavaScriptJavaScriptHTML5、CSS3、JavaScript
対応プラットフォームiOS、Android、BlackBerry OS、HP WebOS、Windows Phone、badaiOS、AndroidiOS、Android、その他
ライセンスNew BSD LicenseまたはMIT LicenseApache License v2.0(有償版あり)GPLv3または商用ライセンス
特徴多彩な対応プラットフォームネイティブ言語と遜色のない実行速度やデバイス固有機能のサポートネイティブアプリ風のUI

Webアプリ感覚でネイティブアプリが作れる「PhoneGap」

 PhoneGapは、Nitobi Softwareによって開発されたオープンソースのモバイルアプリ開発フレームワークである。2011年にAdobe Systemsが同社を買収したことにともない、現在はAdobeによって開発が進められている。

 PhoneGapでは、HTMLとCSS、JavaScriptを用いて、ネイティブで動作するモバイルアプリケーションを作成することができる。アプリケーションは各プラットフォームのWebレンダリング機能を利用して実行されるため、あたかもWebアプリケーションを開発するかのようにスマートフォン用のアプリケーションを作れるという点が大きな特徴だ。カメラやストレージなどといったデバイス固有の機能についても、PhoneGapライブラリによって利用できるようになっている。

 PhoneGapの最大の強みは、その対応プラットフォームの多彩さである。最新版のPhoneGap 1.3.0でサポートされているプラットフォーム、およびそれぞれで利用可能なデバイス固有機能は、このページの表にまとめられている。iOSやAndroidをはじめとして、BlackBerry、WebOS、Windows Phoneなど、主要なモバイルOSが網羅されていることがわかる。

 PhoneGapに関連した「PhoneGap:Build」というサービスも興味深い。これは、開発者がアップロードしたHTML+CSS+JavaScriptのアプリケーションを、サーバ上でネイティブアプリケーションに変換するクラウドサービスである。通常のPhoneGapでは、開発用のPCに各プラットフォーム向けのビルド環境を用意する必要がある。一方でPhoneGap:Buildを使えば、クラウド上にビルド環境が用意されているため、PCに環境を整える手間を省けるというメリットがある。

JavaScriptでネイティブアプリが作れる「Titanium Mobile」

  • 新着記事
  • 特集
  • ブログ