Upload
kosuke-isobe
View
800
Download
2
Embed Size (px)
Citation preview
♥Titanium もくもく会 #4
12年12月18日火曜日
自己紹介• いそべこーすけ(@k0sukey)
• 浜松で働いています
• Ti 歴はもうちょっとで2年
12年12月18日火曜日
初めに
ぼく自身は CoffeeScript を書けませんので、そちらは CoffeeScript ガチな方にお任せします
12年12月18日火曜日
Alloy とは• Appcelerator 公式の MVC Framework です
• 詳しくは @ryugoo_ さんのブログが非常に参考になります→ http://imthinker.net/2012/10/alloy-trial/
12年12月18日火曜日
なぜ Alloy で
CoffeeScript?
12年12月18日火曜日
なぜ Alloy で CoffeeScript?• まだまだ Alloy 人口が少ない。寂しい
• ST2 用の MakeAlloy を作ったのに。寂しい
• (@ryugoo_ さんアルファヒトバシラーを除く)
CoffeeScript 勢が来てくれない。寂しい
• とにかく寂しい
12年12月18日火曜日
CoffeeScript で Alloy アプリが書ければ良いんじゃね?
Alloy がもっと便利で安定すれば良いんじゃね?
12年12月18日火曜日
書けるようにしました!• alloy.jmk を使って Alloy 製アプリがコンパイルされる際に、CoffeeScript から
JavaScript へコンパイルします
• CoffeeScript 用のフォルダを作る必要もないですよ
• Guard とか入れる必要もないですよ
12年12月18日火曜日
alloy.jmk とは• Alloy 製アプリがコンパイルされる前後にフックして、別の処理を割りこませることができます
• $ alloy generate jmk で ProjectDir/app/
alloy.jmk が作られます
• node.js な JavaScript です
12年12月18日火曜日
alloy.jmk とはtask("pre:compile", function(event,logger) { // コンパイル前に割り込ませる処理});
task("post:compile",function(event,logger){ // コンパイル後に割り込ませる処理});
12年12月18日火曜日
Alloy with CoffeeScript1. pre:compile で ProjectDir/app 内の .coffee
ファイルを .js へコンパイル
2. Alloy のコンパイル
3. post:compile で .coffee から .js へコンパイル されたファイルを削除
※ .js を問答無用で削除しているわけでは ないので、もちろん混在OK
12年12月18日火曜日
Alloy with CoffeeScript
• https://gist.github.com/4095824 に予め作ってある alloy.jmk があります
• ついでに TypeScript 用の alloy.jmk も作っておきました
12年12月18日火曜日
ひとつ注意点があります
12年12月18日火曜日
CoffeeScript で Alloy アプリを書く時の注意点
index.xml<Label id="label" onClick="doClick">Hello, World</Label>
index.coffeedoClick = (e) -> alert $.label.text return
これ、イベントが発火しません
12年12月18日火曜日
CoffeeScript で Alloy アプリを書く時の注意点
index.js$.__views.label = A$(Ti.UI.createLabel({ width: Ti.UI.SIZE, height: Ti.UI.SIZE, color: “#000”, text: “Hello, World”, id: “label”}), “Label”, $.__views.index);$.__views.label.on(“click”, doClick);
var doClick;doClick = function(e) { alert($.label.text); return;};
コンパイル後のソースを見てみるとわかりますが、これではイベントが発火しませんよね
12年12月18日火曜日
CoffeeScript で Alloy アプリを書く時の注意点
Alloy でコンパイルされると関数宣言であればどこに書いても問答無用でソース先頭部へ移動されますが、関数式は移動されないので「`」で括って JavaScirpt を書きますindex.coffee`function doClick(e) { alert($.label.text);}`
12年12月18日火曜日
ダサイ...
12年12月18日火曜日
CoffeeScript で Alloy アプリを書く時の注意点
• 「`」がダサければ、view で onClick を使わなければ良いじゃない
• Alloy 自体がコンパイル時に関数式もソース先頭部へ移動してくれるのを待つ
12年12月18日火曜日
というわけで、CoffeeScript でAlloy
アプリが書けるようになりましたので、人口が増えたら嬉しいです
12年12月18日火曜日
ついでに ACS 人口も増えると嬉しいので、本日の Titanium Mobile Advent
Calendar へ ACS ネタを投下しました
12年12月18日火曜日
ありがとうございました!
12年12月18日火曜日