PhoneGap について

http://d.hatena.ne.jp/naoya/20101020/1287542202
id:naoya の上記エントリのせいか、
JavaScript を使って iPhone や Android のアプリを開発するのが
最近ちょっとアツいカンジ。
なので、ちょっと試した感じを書いてみるよ。

OS は WindowsXP。

Titanium:実行できず


Mac は持っていないので、Android のアプリを開発するため、
一番 hot な Titanium を使ってみようと思った。
いざインストールしてみると、まず環境構築でコケる。
windows では、インストールが済んで起動画面までは出るが、
起動数秒後に、どういうわけかオフラインになる。
無線 LAN だと大丈夫らしい。
http://d.hatena.ne.jp/RC3/20100220/1266622453

諦めて Linux(CentOS5.4) マシンがあったので、そちらに入れようと思ったら、
GLIBC(libstdc++) が古いと怒られ、
yum で新しい gcc 入れようと思ったが、全然新しくない。
じゃ gcc_4.5.1 を野良インストール始めたら、
stage 2 と stage3 の diff でエラーが出て一向進まず。
諦めて Fedora12 の libstdc++_6.0.10 を入れてみたら
(rpm 解凍して /usr/lib 以下に置いてリンク張るという荒業)、
見事インストーラ起動。
しかしその先はネットに繋がらず、
他のインストールファイルをダウンロードできない。

ネットで情報を調べても、
公式 FAQ の中の人は「HTTP_PROXY 設定しる」しか言わないし、
多くの人が Mac ユーザだったり、
古いバージョン(インストール方法がちょっと違う)を使っていたりと、
全然参考にならない。

PhoneGap:実行できた!


万策尽きて PhoneGap を見直してみたら、
マイナーバージョンの更に枝番が更新されていた。
インストールしてみたら、全然違ってるじゃん!
というわけで、PhoneGap を使うことにするYO☆

■準備
WindowsXP
JDK
Pleiades 日本語化 Eclipse 3.6.1
PhoneGap 0.9.2
Android SDK

Eclipse, java などはインストールしておく。
Android SDK も Eclipse から使えるように設定しておく。
このあたりは、あちこちに説明があるから、そちらを参照。
以下のページなど。
JDKとeclipse、SDKのインストール
http://android2010.seesaa.net/article/146508191.html

■ PhoneGap
PhoneGap をインストール。
0.9.1 は ant で make する必要があった(と思う)が、
0.9.2 は zip を解凍するだけで使用可能。

■ eclipseでプロジェクトを作成
新規の場合:
新規プロジェクトの作成から android プロジェクトを作成しても良いが、
「インポート」の方が簡単だったのでおススメ。
PhoneGap の中に同梱されているサンプルソースを元にして
インポートするといい。

既存の場合:
削除しちゃったプロジェクト(プロジェクト一覧にない)を開くときは、
通常の java プロジェクトだと新規と同じ操作で開けるけど、
android プロジェクトの場合は、
workspace に既にあるので作れませんというエラーがでて、
新規と同じ操作では開けない。
新規プロジェクトを作った後に、
上書きコピーしてリフレッシュしてごまかしているが、
どうしたらいいのか教えてエロい人。
とりあえずは「プロジェクトは削除しない」という運用にしている。

■ 使ってみた
assets/www の下に普通の web アプリのように書いていけばOK。
しかしどうも web アプリの粋を越えない。
Android ぽいアプリが作りたいと思うと、
どうしても java のほうをいじる必要がありそう。
PhoneGap を使うことで、
方向センサなど、デバイスの一部が javascript から参照できるようになるが、
もうちょっと凝ったことをしたいなら java を書く必要が。

あちこちのソースを見た印象では、
PhoneGap はあくまでも javascript のフレームワークの1つ、という印象。
javascript だけで開発できる、というよりは、
java は java でモリモリ書いて、
javascript は PhoneGap で拡張するみたいな。

なわけで、まったく java 知らない人も PhoneGap 使えばOK、ではないと思う。
少なくとも、eclipse でエラーが出たときに対処するには、
やはり Android アプリ開発の知識が必要だと思う。

でもまぁ、web アプリぽいものを Android で動かす、という範囲なら、
十分に使えると思う。
思ったより Android アプリは敷居も高くなかったし、
凝ったことをしなければすぐに作れる。
HTML5 使えば見栄えの良い楽しいものが作れるし。
PhoneGap はなくてもいいかも、くらいに簡単。
みんなもっと気軽に Android アプリ作ったらいいよ。

おまけ:ちょっとしたTips


■ビルドしたら ***.xml があるのに ***.out.xml とかができちゃってエラー

例えば、main.xml と main.out.xml ができちゃったり、
AndroidManifest.xml と AndroidManifest.out.xml ができちゃったりする。
xml ファイルを編集したとき、
そのままうっかり「実行」ボタンを押しちゃったときにできる。
正しい解決方法は不明。
私の方法は、
(1) ***.out.xml を削除
(2) 他のエディタなどでファイルを開いていたら、全部閉じる
(3) プロジェクトの名前をテキトウに変更
(4) プロジェクトの名前を元に戻す
で、なんとかイケてる。
上記手順 (2) が抜けると、プロジェクト名変更に失敗して、
削除できないディレクトリができちゃったりするので注意。

■他のエディタでファイルをいじった

実行前は、必ず
「ファイル」→「リフレッシュ」
「プロジェクト」→「クリーン」
を行う。
エラーとか起きなくて快適。
[PR]
Commented by ikkyuu_as_cousaku at 2011-01-01 13:30
あけましておめでとうございますっ!

今年も宜しくお願いします。あ、初詣は一休寺へ ポクポク
Commented by xiaoxia at 2011-01-01 17:11
●一休さま
あけおめでございます。
そういえば一休さんはお坊さんでしたっけ(笑
でも初詣はお寺じゃなくて神社っすーwww
by xiaoxia | 2010-11-02 19:09 | ソフトウェア | Comments(2)

ダメ女プログラマ&主婦&腐女子&バイオリン弾き


by 小霞