噂のTitanium Mobileを丸二日いじってわかったことまとめ&細かーいTipsなどなど

SPONSORED LINK

Pocket

さて実はひさしぶりの開発合宿に来ているのですが、Titanium Mobileをいじりまくってひとしきり満足したのでその感想などをメモ的にまとめてみます。

ちなみに環境はMacBook Air + iPod Touch(4th) + Titanium Mobile 1.4ですよ。というか、みんなMacBook Air買った方がいいよ!w

B00485CHKE

» Apple MacBook Air 1.86GHz Core 2 Duo/13.3″/2G/128G/802.11n/BT/Mini DisplayPort MC503J/A

では早速。思いつくままにポイントをざざっと。

  • 私の年収・・・じゃなくて学習コストが低すぎ!
  • 一番すごいのはやはりここ。

    勉強しはじめて数時間で簡単なゲームがつくれちゃいました。感動。JSだけで書ける、というのはだてじゃない!

    Objective-Cで悩んだあの数週間は何だったんだ、というのが正直なところ。Titaniumで出来るもの、出来ないものがありますが簡単なアプリだったらこれで十分でしょう!

  • クロスプラットフォーム?
  • とはいえ、一番のがっかりポイントは「iPhoneもAndroidもこれでまとめて開発できます!」という売り文句がまるで実用的ではないこと。

    AndroidのSDKがあれ、ということもありますが、全っ然うまく動きません。起動すらしない。起動するための発動条件があったりする!結局コード内で分岐命令書かざるをえない、ということでまったくもって・・・残念です(今のバージョンではね)。

    個人的には割り切ってiPhoneアプリ開発に使おうかと思います。

  • 学習の手順
  • 導入手順は以下のとおり。

    » 忙しい人のためのTitanium Mobile導入法

    そのあとにすることをざざっと。

    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を検索すれば利用例が見つかってすんごい便利。

    » Search: titanium – GitHub

    あと、最近Titaniumを勉強しているっぽいid:naoyaのリポジトリなんかも参考になりますよ。

    » naoya’s Profile – GitHub

  • tabgroup?
  • いきなり小技のお話。Titanium モバイルのサンプルではよくtabgroupが出てくるのですが、「タブなんか使わん!」というときにこれを省略してしまうとWindowのタイトルが出なくなってしまい、ちょっとはまりました。

    結局赤松さんにきいて「タブグループは使いつつ、タブバー非表示」というわけのわからないやり方でやりたいことが実現できました・・・。どういうことだ。

  • JavaScript Warning
  • コンパイル中のログなんかを見ていると「こっちの関数やUIがまだ定義されていない」といったWARNINGが出ますがとりあえずは無視でもいいでしょう。

    最初気にしていましたが、Githubなんかにあるサンプルコードを実行してみると普通にWARNING出ているので気にしないことにしました。

  • Titanium vs. Ti
  • よく「Titanium.UI… 」といった命令が出てきますが、この「Titanium」は「Ti」で置き換えOKぽいです(もし違いがあったら教えてください)。コードをタイプする時間を節約したい人はどうぞ。

  • 再起動・・・
  • 常套手段ですが、なんかおかしいな、と思ったらTitaniumやシミュレータを再起動するとうまくいくこともありますよ。

  • 実機特有の機能
  • シミュレータでテスト出来ない機能は実機に転送してテストするのですが、実機転送までの時間がかかりすぎ。iTunesを起動して転送するのでカメラアプリとか作るんだったらつらいかも(これはObjective-Cもそうでしょうが)。

  • Objective-C?Xcode?
  • Titaniumは学習コストが低くていいのですが、多少はObjective-Cによる開発もやっておいたほうがいいかと思います。どういうUIがあるのか、実機転送までの手順は、などなど、基礎知識があるとないとでは開発効率が全然違うかと。

    サンプルアプリ的なものでいいので、Objective-Cで一度何かをつくったあとにTitaniumに挑戦するとより効果的かと思います。

  • デバッグTips
  • いわゆる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

ツイッターもやっています!

SPONSORED LINK

  1. No comments yet.

  1. No trackbacks yet.