PhoneGapでHello Worldした


「PhoneGapやTitaniumを使えばBiwaSchemeでモバイルアプリが作れるのではないか?」と思ったので、とりあえずHello Worldまでやってみた。

PhoneGapとTitaniumの違い

PhoneGapはHTML+CSSで画面を作る。一方TitaniumはTitanium.UI.createWindow()みたいにして画面を作る。QtとかGTKとか、いわゆるGUIライブラリな感じかな。

PhoneGapの方が仕組みとしてLightweightで、今回の目的には取っつきやすそうだったのでPhoneGapを使うことにする。

PhoneGapを使う

単にHTMLとCSSを使うだけなら、わざわざモバイルアプリを作らずとも、単にモバイル向けのWebサイトを作るという選択肢もある。なぜPhoneGapを使うのか。

  • モバイルアプリなら、サーバを用意しなくて済む。(←Herokuとかあるので意義は薄い…)
  • モバイルアプリなら、ホーム画面に独自のアイコンを設置できる (←iOSだとWebサイトでもアイコン変えられるけど…)
  • PhoneGapなら、SDカードへのアクセスとかができる

3つめが重要で、PhoneGapを使うとモバイルWebサイトでは使えない機能がいくつか使えるようになる。
位置情報や加速度センサはHTML5のJavaScript APIから使えそうだけど、SDカードへのアクセスとかはPhoneGapでないとできない、んじゃないかなぁ。(調べてない)

PhoneGapのAPI部分は「Apache Cordova」と呼ばれるプロジェクトになっている。http://incubator.apache.org/cordova/ PhoneGapとの正式な関係は知らない。

機能はいろいろあるが、位置情報などいくつかはW3Cが定義するHTML5のAPIそのままなんで、「それ普通のモバイルWebでもできるよ」っていうのも含まれている (AndroidとiOSの話)。

PhoneGapのチュートリアル

公式サイトにある。http://phonegap.com/start

iOSの場合、XCode 4が必要ぽかった(3だとなんかエラーになった)。4のダウンロードは有料の開発者登録が必要。

Androidの場合、Eclipseを使うチュートリアルになっている。ターミナルからもできるらしいが→ http://wiki.phonegap.com/w/page/30864168/phonegap-android-terminal-quickstart

チュートリアルをそのまま順にやったら、INFOBARで「Hello World」と表示するアプリが動く状態になった。