シングルコンテキストがいいらしい
- Ti.Appのプロパティに預けたオブジェクトに書き込めなくなる « Titanium BBS(JP unofficial)
- コンテキストをまたいでデータを参照で共有する方法 « Titanium BBS(JP unofficial)
Titanium BBSに先日出てきた上の話を読むと、今までのサンプルコードでよく見られた
var win; win = Ti.UI.createWindow({url: "first_win.js"}); win.open();
とurlを指定して新しいWindowを作っていたやり方は今となってはよろしくなくて
var MyApp, win; Ti.include("first_win.js"); win = MyApp.createFirstWindow(); win.open();
みたいにコンテキストが分かれないように書いていくやり方が推奨らしい。(ソースにあたってませんが)
変数の衝突はネームスペース(上記コードではMyApp)で避けるようにするかんじ。
Tweetaniumのソース あたりがよいサンプルのようだ。
利点と欠点
シングルコンテキストの利点としては
* よりJavaScript的(Titaniumの独自挙動に惑わされずにすむ)
* Window間での変数の共有がやりやすい
といった感じか。
一方で欠点としては
* コードを書くのが若干難しくなる
というものがあると思う。
特に非プログラマにとっては敷居が高い気がする。
まあ変化の速いTitanium界隈で現状そんな話がありますよということで。
マルチコンテキスト、ダメ絶対。とかそういう話ではない。