はじめにHTML と javascript でアプリをサクッ!と作ろうというのが 最近ネットの一部でちょっとアツくなっていた。 特に Titanium というソフトを使うのが メインストリームだったのだが、 インストール後がどうにも動かず、泣く泣く諦めた。 で、似たようなソフトで PhoneGap というのがあるので、 先日 PhoneGap の試用について書いた。 女プログラマってどうよ? : PhoneGap について Titanium は、インストールの後はログインが必要なのだけど、 オフラインになってしまい、 接続できないというエラーになっていた。 「無線なら上手くいった」とか 「Macなら大丈夫」とかいうブログ記事を読み、 proxy 越しの接続に問題があるのだと考えていた。 しかし、Titanium の中の人エンジニアは FAQ でも「proxy 設定したらいいよ」しか言わず、 接続できない人たちはやっぱり接続できなくて 途方にくれている、という状態だった。 私もそこで Titanium は諦めて PhoneGap にした。 インストールできた!12/15 に Titanium バージョンアップのお知らせが来た。 では最新版では直っておるかと思い、使ってみた。 当初、普通にインストールしただけでは前版と同じ状態で、 ログインできない。 バージョンがあがったことで、 また新しい FAQ が出てないかなーと見たところ、 以下で、解決方法を発見した。 #332 Unable To Package - Titanium Desktop - appcelerator Titanium をインストールした先の Resources/js/index.js の 939 行目付近の以下の部分を まるっとコメントアウトしろと。 // if offline, don't attempt これで本当に直ってしまった。 ちゃんとログインできた。 ツボは、 右下のネットワーク接続を示すアイコンは「オフライン」になるが、 そんなのキニシナイでログインを強行する ということ(笑) ログイン後、起動すると右上に「新しいバージョンがあるよ!」が出るかも。 出たら適用しておく。 下ごしらえjava SDK、Android SDK などは導入済みという前提で。 Android SDK を設定左上 Perspectives から、一番右をクリックして出てきた画面で設定 環境変数 JAVA_HOME の設定最初の設定はこんな感じ 変更前の設定 ところがこれだとエミュレータで実行しようとするとエラーになる。 [ERROR] Required jarsigner not found 以下が、修正してうまく行った設定 変更後の設定 JAVA_HOME から bin を除いて、PATH の方には bin を入れる。 環境変数 ANDROID_HOME の設定以下のページを参考に 環境変数 ANDROID_HOME を設定。 Titanium Mobile 開発環境構築 on Windows XP - どぅーちゅいむーにー aapt というコマンドがあるところにもパスを通すため。 作ってみる作り方は、以下の方法でOK。 HTML+JavaScriptでiPhone/Androidアプリを作れるTitanium Mobileとは(2/3)- @IT 上の記事で、現在は Kitchen Sink のリンクが変わっている。 appcelerator/KitchenSink - GitHub 「Downloads」をぽちって、zip をダウンロードしておく。 KitchenSink を試す前にまず、新しいプロジェクトを作って、 すぐ「Launch」してみるのが良いと思う。 プレーンな状態で実行しておくと 環境に問題がないかどうかがわかる。 KitchenSink は何ができるかというデモのプロジェクト。 これを流用すれば、ほとんどのアプリはできちゃうのではないかと思う。 環境に問題がないことが確認できたら、 KitchenSink を動かしてみるのが良い。 先ほどダウンロードした zip を解凍し、 新規にプロジェクトを作って、 その Resource 以下を上書きするのが良いらしい(以下参照)。 もぎっちゃうぞもぎ私的メモ:Titanium:サンプルプログラムKitchenSinkが実機に転送できないー>解決 Tipsデモを動かしたり、こんにちわ世界をしてみただけだけど。 ■コンパイル中に Titanium のコンソールにエラーが表示される [ERROR] Failed installing jp.co.ntt: Can't dispatch DDM chunk 46454154: no handler defined SDK は「APIs」と付いているものを選択したら直った。 理由は相変わらずよくわからない。 SDK を変更する場合は、 タスクマネージャから adb のプロセスを終了してから エミュレータを起動する。 ■エミュレータの設定は自動登録されるみたい Launch をぽちるとエミュレータが起動するが、 起動したものは自動的に SDK マネージャに登録されるようだ。 ロケールや proxy を毎回設定しなくても大丈夫。 しかし PhoneGap を使っていたときの設定は使えないようだ。 そっちを起動していても、Launch すると別なのが起動してしまうか、 もしくは、既に起動してますよエラーになる。 ■最終手段はクリーンビルド 直したはずなのにまたエラーが出る。 そんなときはクリーンビルドしてみる。 しかしそんなメニューはないので、 %Titanium%\project\build\android 以下を手動でがっつり削除。 古典的手法ながらかなり有効。 感想■動作が超速い! もう PhoneGap とは比較にならないほどサクサク! あんまりにも違うのでびっくりした。 ■コンパイル時間も転送時間も長い? ネイティブコードにコンパイルするためか、 一番最初はエミュレータで実行するにもえらい時間がかかる。 ■エミュレータの起動が遅い? Android のエミュレータは遅いと評判だが、 Launch から起動すると更に遅い感じがする? ■省電力? エミュレータをLaunch から起動すると、 すぐに休止モード画面になってしまう? SDK マネージャから動かすとヘイキなのに。 ■デバッグの方法? PhoneGap はほぼ web アプリだったので、 web ブラウザでデバッグできたが、 Titanium は「なんかおかしいので終了します」というアラートが出るのみ。 Titanium のコンソールを「Info」にしてあるのに、全然情報出ない。 どこが悪いのかわからず、デバッグしづらい。 そのうち「Sorry!なんて謝るなよ!何があったか教えろよ!」と立腹(笑 ■■まとめ PhoneGap と比べてどうかという話であれば、一長一短だろうか。 ありきたりの感想だけど。 私には、独自 API 仕様を覚えなくちゃならないのは面倒くさい。 でも、動作のサクサクっぷりは本当にびっくりする。 開発のしやすさは PhoneGap、 動作のうつくしさは Titanium Mobile、と言ったところか。
by xiaoxia
| 2010-12-20 14:08
| ソフトウェア
|
カテゴリ
以前の記事
2022年 12月 2021年 05月 2019年 12月 2018年 12月 2018年 05月 2018年 03月 2017年 03月 2017年 02月 2016年 08月 2016年 04月 more... 最新の記事
最新のトラックバック
ライフログ
今読んでる
その他のジャンル
記事ランキング
ブログジャンル
|
ファン申請 |
||