Xtity Blog

techieなこと、書いてます

ABC2012Spring - Titanium

「Scaling Titanium Mobile」

キュニップ:おぐら じゅんや

 

■CommonJSを使おう

・Titanium Studioのテンプレートでも使われている

・ウィザードで選択して作れる

・複数人の開発

・CommonJSと異なりResourcesからの相対パスで書く

・パフォーマンスの問題がない

・メンテンナンス性が高い

単体テストしやすい

 

■underscore.jsを使おう

・配列や関数に対する操作を簡単に

関数プログラミング由来のものを多数持っている

・requireでよみこむ

・JSONをUI用のデータに整形・変換に向いてる

・人によって異なる配列の扱いを共通化させる

 

■CoffeeScript.jsを使おう

Javascriptに比べて記述量減る

・バグ・ケアレスミス減る

・コールバック記述が簡潔に

・ループがシンプルになる

ex. for each when

・後置ifでプラットフォームゴトの場合分けをシンプルに

・クラスベースに設計しやすい

・文字列の変数を展開ができる

・Auto compile with Guard

 

■プラットフォームごとのコードを隠蔽する

・普通にやるとiOSとAndroidの場合分けが多数出てくる。。。

・分岐処理をラップして別関数にし、別モジュールにして、差異を隠蔽

 

■カスタムイベント

・UIだけとはかぎらない

・Application Level Event

->アプリケーション無いでグローバルに有効

->全てのコンテキスト、関数スコープ、CommonJSモジュールから参照できる

->利用にはTi.Appモジュールを使う。

->ハンドラの設定とイベントの発生

・エラー処理が分散する

->イベントを活用

・addEventListenerでfireEventするだけ

・注意

->アプリケーションレベルのイベントハンドラ内で生成したオブジェクトは、

ハンドラを明示的に削除するまでメモリに残る

->不要になったタイミングハンドラを削除

->removeEventListener

・アプリケーション全体に伝播させるイベントでなければ、ビューオブジェクトにaddEventListener