Titanium勉強会のメモ
http://atnd.org/events/12449 これ
!! アーキテクチャーの選択
!!! マルチコンテキスト(Window と Source ファイルが紐づく)
ウインドウ間の連携できない
共通部分は、 Ti.App 以下に適当な Obj にぶら下げる => 制約って何?
Ti.Geolocationはcallbackのcontextに注意
URLを指定する感じでファイルを指定していく
=> 通常こっちを利用する
!!! フルコンテキスト(一つのコンテキストでやる)
Androidに対応していないケースがある
=> 1画面のゲームなどでしか使わない
!! 作り方
app.js が最初に起動される
view = Titanium.UI.createXXXView でビューを作って
view.addEventListener(‘click’, function(){ callback }) でイベント
win = Titanium.UI.crateWindow({url: “falename.js”}) な感じでWindowを作って
Titanium.UI.currentTab.open(win, {animated: true}) で開く
Titanium.UI.TableView でテーブル(リスト)とかを作れる
TableRowでひとつひとつのを調整できる
Titanium.UI.Animationでアニメーションができる
- Fransform3Dとかもある
外部ファイルを読み込むには
require(‘foo’);
foo.bar();
—-
exports.bar = function(){
something();
}
include(‘file’) も使えるけど、名前空間の問題で require を使うほうがおすすめ
!! Tips
YQLを使うといいよ => XML/Atomをjsonにする
Pulltoreflesh は Twitterの引っ張ったらリロードのインターフェース
APIリファレンスよりも、KitchenSinkのほうが正しい
標準で足りない機能はモジュールでかく。オープンソースで公開されている?
非同期処理は、Defferredを利用するといいよ 要ブログ参照
高負荷になりそうな処理はObjective-Cでモジュールを書く
!! iPhoneとAndroidの違い
リロード機能を作るとすると
iPhoneは、画面の上の方にリロードボタン
Androidは、メニューボタンを押してその中から選ぶ
Titanium.Platform.osname で調べて、処理を調整する
☆ どっちかで作ってあとで必要に応じてわけるといいかもよ
!! Titaniumの考え方
環境ごとのデフォルトの挙動に従う
環境毎に整えるのはアプリケーション側で頑張る
!! 資料
https://github.com/masuidrive/TitaniumSamples
http://public.iwork.com/document/?d=Titanium_Mobile_Workshop_2011_47_02_47_25.key&a=p40748949