SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
♥
               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 CoffeeScript
               1. 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.coffee
               doClick = (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日火曜日

Mais conteúdo relacionado

Destaque

Governo: rapporto larga-banda Italia, sviluppo e crescita accessi
Governo: rapporto larga-banda Italia, sviluppo e crescita accessiGoverno: rapporto larga-banda Italia, sviluppo e crescita accessi
Governo: rapporto larga-banda Italia, sviluppo e crescita accessiAlberto degli Alessandri
 
Tee7 versie2
Tee7 versie2Tee7 versie2
Tee7 versie2EntXP
 
Bando IT & TLC - Ricerca Industriale e dello Sviluppo Sperimentale
Bando IT & TLC - Ricerca Industriale e dello Sviluppo SperimentaleBando IT & TLC - Ricerca Industriale e dello Sviluppo Sperimentale
Bando IT & TLC - Ricerca Industriale e dello Sviluppo SperimentaleAlberto degli Alessandri
 
Proces szesnastu
Proces szesnastuProces szesnastu
Proces szesnastukwyszynska
 
Психология восприятия. Часть 3. Фиксированная точка зрения.
Психология восприятия. Часть 3. Фиксированная точка зрения.Психология восприятия. Часть 3. Фиксированная точка зрения.
Психология восприятия. Часть 3. Фиксированная точка зрения.Inelymy
 
Психология личности. Методология.
Психология личности. Методология.Психология личности. Методология.
Психология личности. Методология.Inelymy
 
Tee5 versie1
Tee5 versie1Tee5 versie1
Tee5 versie1EntXP
 
Tee6 versie3
Tee6 versie3Tee6 versie3
Tee6 versie3EntXP
 
психология личности
психология личностипсихология личности
психология личностиInelymy
 
Конструктивное преобразование агрессии
Конструктивное преобразование агрессииКонструктивное преобразование агрессии
Конструктивное преобразование агрессииInelymy
 
Google for Nonprofits - Analytics webinar
Google for Nonprofits - Analytics webinarGoogle for Nonprofits - Analytics webinar
Google for Nonprofits - Analytics webinarChad Leaman
 
ReteIVO - Internet Veloce Ovunque - Le novità di dicembre!
ReteIVO - Internet Veloce Ovunque -  Le novità di dicembre!ReteIVO - Internet Veloce Ovunque -  Le novità di dicembre!
ReteIVO - Internet Veloce Ovunque - Le novità di dicembre!Alberto degli Alessandri
 
Психология восприятия. Часть 4. Эффекты восприятия.
Психология восприятия. Часть 4. Эффекты восприятия.Психология восприятия. Часть 4. Эффекты восприятия.
Психология восприятия. Часть 4. Эффекты восприятия.Inelymy
 
Психология восприятия. Часть 2. Свойства и факторы.
Психология восприятия. Часть 2. Свойства и факторы.Психология восприятия. Часть 2. Свойства и факторы.
Психология восприятия. Часть 2. Свойства и факторы.Inelymy
 

Destaque (20)

Governo: rapporto larga-banda Italia, sviluppo e crescita accessi
Governo: rapporto larga-banda Italia, sviluppo e crescita accessiGoverno: rapporto larga-banda Italia, sviluppo e crescita accessi
Governo: rapporto larga-banda Italia, sviluppo e crescita accessi
 
Tee7 versie2
Tee7 versie2Tee7 versie2
Tee7 versie2
 
Bando IT & TLC - Ricerca Industriale e dello Sviluppo Sperimentale
Bando IT & TLC - Ricerca Industriale e dello Sviluppo SperimentaleBando IT & TLC - Ricerca Industriale e dello Sviluppo Sperimentale
Bando IT & TLC - Ricerca Industriale e dello Sviluppo Sperimentale
 
Proces szesnastu
Proces szesnastuProces szesnastu
Proces szesnastu
 
Психология восприятия. Часть 3. Фиксированная точка зрения.
Психология восприятия. Часть 3. Фиксированная точка зрения.Психология восприятия. Часть 3. Фиксированная точка зрения.
Психология восприятия. Часть 3. Фиксированная точка зрения.
 
Психология личности. Методология.
Психология личности. Методология.Психология личности. Методология.
Психология личности. Методология.
 
Test
TestTest
Test
 
Tee5 versie1
Tee5 versie1Tee5 versie1
Tee5 versie1
 
Iso140~1 2012
Iso140~1 2012Iso140~1 2012
Iso140~1 2012
 
Tee6 versie3
Tee6 versie3Tee6 versie3
Tee6 versie3
 
WWI
WWIWWI
WWI
 
психология личности
психология личностипсихология личности
психология личности
 
Конструктивное преобразование агрессии
Конструктивное преобразование агрессииКонструктивное преобразование агрессии
Конструктивное преобразование агрессии
 
ULL Chiavi in Mano
ULL Chiavi in ManoULL Chiavi in Mano
ULL Chiavi in Mano
 
Google for Nonprofits - Analytics webinar
Google for Nonprofits - Analytics webinarGoogle for Nonprofits - Analytics webinar
Google for Nonprofits - Analytics webinar
 
Indennizzi 2013 tlc
Indennizzi 2013 tlcIndennizzi 2013 tlc
Indennizzi 2013 tlc
 
ReteIVO - Internet Veloce Ovunque - Le novità di dicembre!
ReteIVO - Internet Veloce Ovunque -  Le novità di dicembre!ReteIVO - Internet Veloce Ovunque -  Le novità di dicembre!
ReteIVO - Internet Veloce Ovunque - Le novità di dicembre!
 
Психология восприятия. Часть 4. Эффекты восприятия.
Психология восприятия. Часть 4. Эффекты восприятия.Психология восприятия. Часть 4. Эффекты восприятия.
Психология восприятия. Часть 4. Эффекты восприятия.
 
Gimp - praca na warstwach
Gimp - praca na warstwachGimp - praca na warstwach
Gimp - praca na warstwach
 
Психология восприятия. Часть 2. Свойства и факторы.
Психология восприятия. Часть 2. Свойства и факторы.Психология восприятия. Часть 2. Свойства и факторы.
Психология восприятия. Часть 2. Свойства и факторы.
 

Semelhante a Titanium もくもく会 #4

Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶHiroshi Oyamada
 
MacRubyとHotCocoaでMacのアプリを作ってみた
MacRubyとHotCocoaでMacのアプリを作ってみたMacRubyとHotCocoaでMacのアプリを作ってみた
MacRubyとHotCocoaでMacのアプリを作ってみたYukimitsu Izawa
 
Falconjsの始め方 (share)
Falconjsの始め方 (share)Falconjsの始め方 (share)
Falconjsの始め方 (share)Jun Funakura
 
第8回 天領倉敷 ScalaScala In Kurashiki 8
第8回 天領倉敷 ScalaScala In Kurashiki 8第8回 天領倉敷 ScalaScala In Kurashiki 8
第8回 天領倉敷 ScalaScala In Kurashiki 8NISHIMOTO Keisuke
 
すごいぞ!Google Chrome
すごいぞ!Google Chromeすごいぞ!Google Chrome
すごいぞ!Google ChromeEigoro Yamamura
 
CyberAgentにおけるMongoDB
CyberAgentにおけるMongoDBCyberAgentにおけるMongoDB
CyberAgentにおけるMongoDBAkihiro Kuwano
 
Wco2012 不動産プラグイン.活用例
Wco2012 不動産プラグイン.活用例Wco2012 不動産プラグイン.活用例
Wco2012 不動産プラグイン.活用例加藤 貴一
 
セプテーニさんでのセミナー
セプテーニさんでのセミナーセプテーニさんでのセミナー
セプテーニさんでのセミナーTokusei Noborio
 
Cocos2d platforms devcon_jp_20120621_en
Cocos2d platforms devcon_jp_20120621_enCocos2d platforms devcon_jp_20120621_en
Cocos2d platforms devcon_jp_20120621_enRicardo Quesada
 
CodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみるCodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみる智之 大野
 
Beginners Scala in FAN 20121009
Beginners Scala in FAN 20121009Beginners Scala in FAN 20121009
Beginners Scala in FAN 20121009Taisuke Shiratori
 
Hyper → Highspeed → Development
Hyper → Highspeed → DevelopmentHyper → Highspeed → Development
Hyper → Highspeed → Developmentaktsk
 
Sugarcubeをはじめよう
SugarcubeをはじめようSugarcubeをはじめよう
SugarcubeをはじめようEihiro Saishu
 
WEBアプリケーションビルド・ テストツール YEOMAN
WEBアプリケーションビルド・ テストツール YEOMAN WEBアプリケーションビルド・ テストツール YEOMAN
WEBアプリケーションビルド・ テストツール YEOMAN kamiyam .
 
Building Static Website With Github And Jekyll
Building Static Website With Github And JekyllBuilding Static Website With Github And Jekyll
Building Static Website With Github And JekyllYoji Shidara
 
120529 railsとか勉強会v2
120529 railsとか勉強会v2120529 railsとか勉強会v2
120529 railsとか勉強会v2Yoshiteru Toki
 
Introduce the activities of gdg kobe 130917
Introduce the activities of gdg kobe 130917Introduce the activities of gdg kobe 130917
Introduce the activities of gdg kobe 130917Yasutaka Kawamoto
 

Semelhante a Titanium もくもく会 #4 (20)

Sinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶSinatraでwebアプリケーション開発を学ぶ
Sinatraでwebアプリケーション開発を学ぶ
 
MacRubyとHotCocoaでMacのアプリを作ってみた
MacRubyとHotCocoaでMacのアプリを作ってみたMacRubyとHotCocoaでMacのアプリを作ってみた
MacRubyとHotCocoaでMacのアプリを作ってみた
 
Falconjsの始め方 (share)
Falconjsの始め方 (share)Falconjsの始め方 (share)
Falconjsの始め方 (share)
 
Code Anything
Code AnythingCode Anything
Code Anything
 
第8回 天領倉敷 ScalaScala In Kurashiki 8
第8回 天領倉敷 ScalaScala In Kurashiki 8第8回 天領倉敷 ScalaScala In Kurashiki 8
第8回 天領倉敷 ScalaScala In Kurashiki 8
 
PhoneGap Introduction
PhoneGap IntroductionPhoneGap Introduction
PhoneGap Introduction
 
すごいぞ!Google Chrome
すごいぞ!Google Chromeすごいぞ!Google Chrome
すごいぞ!Google Chrome
 
CyberAgentにおけるMongoDB
CyberAgentにおけるMongoDBCyberAgentにおけるMongoDB
CyberAgentにおけるMongoDB
 
Wco2012 不動産プラグイン.活用例
Wco2012 不動産プラグイン.活用例Wco2012 不動産プラグイン.活用例
Wco2012 不動産プラグイン.活用例
 
セプテーニさんでのセミナー
セプテーニさんでのセミナーセプテーニさんでのセミナー
セプテーニさんでのセミナー
 
Cocos2d platforms devcon_jp_20120621_en
Cocos2d platforms devcon_jp_20120621_enCocos2d platforms devcon_jp_20120621_en
Cocos2d platforms devcon_jp_20120621_en
 
CodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみるCodeIgniterでXMLを処理してみる
CodeIgniterでXMLを処理してみる
 
Beginners Scala in FAN 20121009
Beginners Scala in FAN 20121009Beginners Scala in FAN 20121009
Beginners Scala in FAN 20121009
 
Hyper → Highspeed → Development
Hyper → Highspeed → DevelopmentHyper → Highspeed → Development
Hyper → Highspeed → Development
 
Sugarcubeをはじめよう
SugarcubeをはじめようSugarcubeをはじめよう
Sugarcubeをはじめよう
 
WEBアプリケーションビルド・ テストツール YEOMAN
WEBアプリケーションビルド・ テストツール YEOMAN WEBアプリケーションビルド・ テストツール YEOMAN
WEBアプリケーションビルド・ テストツール YEOMAN
 
Building Static Website With Github And Jekyll
Building Static Website With Github And JekyllBuilding Static Website With Github And Jekyll
Building Static Website With Github And Jekyll
 
120529 railsとか勉強会v2
120529 railsとか勉強会v2120529 railsとか勉強会v2
120529 railsとか勉強会v2
 
Aiming study#6pdf
Aiming study#6pdfAiming study#6pdf
Aiming study#6pdf
 
Introduce the activities of gdg kobe 130917
Introduce the activities of gdg kobe 130917Introduce the activities of gdg kobe 130917
Introduce the activities of gdg kobe 130917
 

Titanium もくもく会 #4

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