icon ファイルの分割 (2011/07/05)
JavaScript だけでアプリを作っていくので、必然的に行数が多くなります。
という事で、Titanium.inclue を利用してファイルを文字通り include する事ができます。

Titanium.incluel でファイル読み込み


Titanium.UI.setBackgroundColor('#000');
var tabGroup = Titanium.UI.createTabGroup();

Titanium.include('soundPlayer.js');

Titanium.include('timer.js');

Titanium.include('twitter.js');

// open tab group
tabGroup.open();

あくまでもinclude なのでクラスのような使い方はできないですが、用途別のコード整理には必須ですね。

createWindow の url でファイル指定


また、url 指定で処理をスクリプトファイルに委譲できたりもします。

読み込み側の、Titanium.UI.createWindow で読み込む url を指定します。
var twitterWindow = Titanium.UI.createWindow({
    title:'Twitter',
    backgroundColor:'#000000',
    url: 'twitterLoadTimeline.js'
});
twitterWindow.message = "Twitterの読み込み";

読み込まれる側では、Titanium.UI.currentWindw で呼び出し側の Window を取得できます。
var twitterWindow = Titanium.UI.currentWindow;

alert(twitterWindow.message);

var twitterTableView = Titanium.UI.createTableView();
twitterWindow.add(twitterTableView);

var url = "http://api.twitter.com/1/statuses/user_timeline.json?screen_name=yoo_yoo_yoo";
if (Titanium.Network.onLine == false) {
	alert('オフラインです');
} else {
	var xhr = Titanium.Network.createHTTPClient();
	xhr.open("GET", url, false);
	xhr.onload = function () {
		var json = JSON.parse(this.responseText);
		var tableViewData = [];
		for (var i = 0; i < json.length; i++) {
			tableViewData.push({title :json[i].text});
			//Titanium.API.info(json[i].user.screen_name);
			//Titanium.API.info(json[i].text);
		}
		twitterTableView.data = tableViewData;
	};
	xhr.onerror = function (error) {
		alert(error);
	}
	xhr.send();
}

createWindowのスコープ内のプロパティも後で設定したプロパティ取得、つまりコンテキストが受け渡されます。
これは素晴らしい!

addEventListener でイベントを利用する


さらに addEventListener を使ってイベント管理もできます。
var messageWindow = Titanium.UI.createWindow({
    url: 'messageLoader.js'
});
messageWindow.open();

var messageTab = Titanium.UI.createTab({  
    title:'Message',
    window:messageWindow
});

Titanium.App.addEventListener('showMessage', function(e) {
	alert(e.profile.name);
});

tabGroup.addTab(messageTab);

Titanium.App.fireEvent('showMessage', {
	message: 'プロフィール',
	profile: {
		name: 'yoo',
		url: 'http://yoo-s.com'
	}
});
ウィンドウ作成後に 登録した「showMessage」イベントを呼び出しています。

このサイトについて

HTML5 & CSS3化しつつあるので、現在IEには対応してません。
できれば、Google Chromeやら Apple SafariのWebKit系をお勧めします。

DBからプログラムまで一応全て自作なので、バグってたらすいません。
実験でFlash版(Flex版)を先に作りましたが、ちょっと停止してます。

プロフィール

新宿近辺でSE & プログラマーしてます。
Webアプリの開発・設計とか、最近はiPhoneとか奮闘してます。
デザインはさっぱりです。

音楽は、昔からCubase打ち込み人間で、そっちの方が経歴は長いですが、最近はやる暇がないです。。。

今は、Gon's Privates ってバンドのキーボードやってます。
単発的に、なんちゃってジャズ系のライブもやってます。

名古屋生まれなのでドラゴンズ好きです。

Info && SNS

Gmail

 yohei.yoshikawa@gmail.com

Twitter

 http://twitter.com/yoo_yoo_yoo

あんまつぶやきませんが、一応技術系メインで使ってます。情報交換はこちらへ

FaceBook

 http://www.facebook.com/#!/profile.php?id=1439130626

海外の知り合いがいないので閑散としてます。

mixi

 http://mixi.jp/show_profile.pl?id=230072

音楽仲間とかはこっちメインでやってます。興味があればこちらへ