T

PhoneGap雑感

PhoneGapでAndroid向けアプリを制作してみての雑感。

よいところ

・学ぶのが簡単

基本的に設定が終わったらあとはHTMLとJavaScriptを書くだけ。デザイン的なこともHTMLで記述している分には慣れている人にはほとんど問題ない。

サードパーティーのツールも豊富

Sencha touchやjQtouchといったJavaScriptライブラリもあってUIの作成は簡単。他にも各プラットフォーム向けのプラグインがたくさん公開されている。

・仕組みが単純

DroidGapクラスをextendsするクラスを用意するだけで済むので、onCreateやいろんなところでちょっとしたフックを挿入したいと思ったらTitaniumより楽に動作させられる。Titaniumの場合、プロキシの仕組みを追いかけてどこで何をやっているのかちゃんと把握していないと変なところで動かなくなってしまう。それから、単純な分だけapkファイルのサイズも小さいのもいい。

困ったところ:

・ハマると大変

HTMLとJavaScriptで書けばいい、とはいうものの、例えばjQtouchやSencha touchを使う場合はHTMLの書き出しまでJavaScriptのライブラリ任せになるので、細かい調整はいろいろと難しくなる。ドキュメントも豊富とはいえないので、ソースを追いかけ始めると大変。

・onResumeやonPauseでうまく動かすのが難しい

他のアプリやActivityを起動して元の画面に戻ると、初回起動と同じシーケンスが走る。つまり、ウェブブラウザをリロードして最初の画面に戻ってしまう状態になる。つまり、Ajaxをバリバリ使ってウェブアプリを作成しているのときに外部サイトにリンクしてそこから戻るボタンを押したのと同じような問題が起きる。ステートレスなウェブの考え方をステートフルなアプリの世界に持ち込むことの弊害とでもいおうか。これエミュレータだけの現象みたい。

・遅い、遅い、遅い

WebViewはメモリも食うし、とにかく動作が遅い。エミュレータだと不安になるくらい重い。起動から動き出すまでにかなり時間がかかる。

コメントを残す