噂のTitanium Mobileを丸二日いじってわかったことまとめ&細かーいTipsなどなど
- December 2nd, 2010
- Posted in iPhone関連
- Write comment

さて実はひさしぶりの開発合宿に来ているのですが、Titanium Mobileをいじりまくってひとしきり満足したのでその感想などをメモ的にまとめてみます。
ちなみに環境はMacBook Air + iPod Touch(4th) + Titanium Mobile 1.4ですよ。というか、みんなMacBook Air買った方がいいよ!w
» Apple MacBook Air 1.86GHz Core 2 Duo/13.3″/2G/128G/802.11n/BT/Mini DisplayPort MC503J/A
では早速。思いつくままにポイントをざざっと。
- 私の年収・・・じゃなくて学習コストが低すぎ!
- クロスプラットフォーム?
- 学習の手順
- tabgroup?
- JavaScript Warning
- Titanium vs. Ti
- 再起動・・・
- 実機特有の機能
- Objective-C?Xcode?
- デバッグTips
- そのほかのはまりポイント
- インストールエラー?
- 以上でも以下でもない
一番すごいのはやはりここ。
勉強しはじめて数時間で簡単なゲームがつくれちゃいました。感動。JSだけで書ける、というのはだてじゃない!
Objective-Cで悩んだあの数週間は何だったんだ、というのが正直なところ。Titaniumで出来るもの、出来ないものがありますが簡単なアプリだったらこれで十分でしょう!
とはいえ、一番のがっかりポイントは「iPhoneもAndroidもこれでまとめて開発できます!」という売り文句がまるで実用的ではないこと。
AndroidのSDKがあれ、ということもありますが、全っ然うまく動きません。起動すらしない。起動するための発動条件があったりする!結局コード内で分岐命令書かざるをえない、ということでまったくもって・・・残念です(今のバージョンではね)。
個人的には割り切ってiPhoneアプリ開発に使おうかと思います。
導入手順は以下のとおり。
そのあとにすることをざざっと。
APIドキュメントは基本。ざっと目を通してブックマークしておきましょう。ただあんまり充実しているとはいえないですな・・・。これは今後に期待。
» Appcelerator Developer Center – API for (version 1.4)
英語がちょっとねー、という人はこちらも。上記PDFの元ネタですが。
» Wiki Pages – titanium-mobile-doc-ja – Project Hosting on Google Code
ナレッジベースも参考になります。Q&Aはこちらで検索しましょう。

↑ みんな悩んでいるなぁw。
» Appcelerator Developer Center – Community Questions & Answers
それでも解決しなかったらStackoverflowもおすすめ。
» Newest ‘titanium’ Questions – Stack Overflow
また、気になる機能はKitchenSinkをいじりながらコードを確認すると良いかと思います。コードはGithubで見るのが便利ですね。
» KitchenSink/Resources at master from appcelerator’s KitchenSink – GitHub
Githubでリポジトリやスニペットを検索するのもいいですね。JavaScriptの言語指定をしておけばだいぶ絞り込めます。リポジトリはインポートして動作を確かめるのも簡単です。気になる命令があったらCodeを検索すれば利用例が見つかってすんごい便利。
あと、最近Titaniumを勉強しているっぽいid:naoyaのリポジトリなんかも参考になりますよ。
いきなり小技のお話。Titanium モバイルのサンプルではよくtabgroupが出てくるのですが、「タブなんか使わん!」というときにこれを省略してしまうとWindowのタイトルが出なくなってしまい、ちょっとはまりました。
結局赤松さんにきいて「タブグループは使いつつ、タブバー非表示」というわけのわからないやり方でやりたいことが実現できました・・・。どういうことだ。
コンパイル中のログなんかを見ていると「こっちの関数やUIがまだ定義されていない」といったWARNINGが出ますがとりあえずは無視でもいいでしょう。
最初気にしていましたが、Githubなんかにあるサンプルコードを実行してみると普通にWARNING出ているので気にしないことにしました。
よく「Titanium.UI… 」といった命令が出てきますが、この「Titanium」は「Ti」で置き換えOKぽいです(もし違いがあったら教えてください)。コードをタイプする時間を節約したい人はどうぞ。
常套手段ですが、なんかおかしいな、と思ったらTitaniumやシミュレータを再起動するとうまくいくこともありますよ。
シミュレータでテスト出来ない機能は実機に転送してテストするのですが、実機転送までの時間がかかりすぎ。iTunesを起動して転送するのでカメラアプリとか作るんだったらつらいかも(これはObjective-Cもそうでしょうが)。
Titaniumは学習コストが低くていいのですが、多少はObjective-Cによる開発もやっておいたほうがいいかと思います。どういうUIがあるのか、実機転送までの手順は、などなど、基礎知識があるとないとでは開発効率が全然違うかと。
サンプルアプリ的なものでいいので、Objective-Cで一度何かをつくったあとにTitaniumに挑戦するとより効果的かと思います。
いわゆるvar_dump的なものは「Ti.API.info(x)」でOKです。なお、データがJSONとかだったら「JSON.stringify(x)」しておくと見やすいですよ。
あとは「build/iphone/build/build.log」でエラーを見るのもいいですね。
こちらも参考にさせていただきました。
» [Titanium] Titanium Mobile で iPhone 開発 – ハマった点 – それはBlog
TitaniumのForumでもFAQの「アプリ作って実機転送しようと思ったら、あれエラー??」という問題にもがっつりはまりました。これ、あまりにはまったので別エントリーでがっつり書く。

↑ このやろうにやられましたw。
良い意味でも悪い意味でも、Titaniumで出来ることはAPIにあるものだけで、それ以上のことはできません。ここまではTitaniumで、あと細かいところはObjective-Cで、ってのは基本的に無理そうです(だよね?)。 → 【追記】 Objective-Cで追加モジュールもかけるようでした。
個人的に描画ライブラリがないかなぁ、と思って探したのですがないっぽいです。お絵かきアプリとかは厳しそうです。
以上、ざっくりとした感想をまとめてみました。正直、まだまだ荒削りだと思うのですがこれからどんどん洗練されていくのではないですかね。今後に期待です。
多少、癖があるものの「iPhoneアプリがこんな簡単に!」という興奮さめやらずですよ。作りたいものがどんどん思い浮かぶようになりました。ハッピーです。
しばらくTitanium Mobielを勉強して極めたいと思いますのでまたエントリーしますね。というか、なんか作って売っちゃうぞ!できたら買ってね!(check*padとか・・・)
» Titanium Mobile Application Development | Appcelerator



No comments yet.