「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」と表示するアプリが動く状態になった。