Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Alloy - Introduction of Titanium MVC Framework
Search
Ryutaro Miyashita
October 31, 2012
Technology
1.4k
6
Share
Alloy - Introduction of Titanium MVC Framework
Titanium Mobile "MokuMoku" Meetup #2 Lighting Talk (2012/10/31)
Ryutaro Miyashita
October 31, 2012
More Decks by Ryutaro Miyashita
See All by Ryutaro Miyashita
Java で書かれた Android アプリを Kotlin で書き直すまでの話 / Talk of rewrite Android app for Java to Kotlin
ryugoo
0
1.8k
開発 4 年目のアプリへの Kotlin 導入
ryugoo
0
460
チーム開発と Android アプリの構成
ryugoo
5
1.2k
開発 4 年目のアプリへの Kotlin 導入
ryugoo
1
2.8k
Either で想定内のエラーと想定外のエラーを別ものにしたい!
ryugoo
2
1.8k
全て S になる -RxJava と LWS を持ち込む楽しさ-
ryugoo
4
790
Transition at RxJava 1.x to 2.x
ryugoo
0
570
Kotlin さんと誕生日が近いだけの男の話
ryugoo
2
550
Android エンジニアになって 2 年の学び
ryugoo
1
2.8k
Other Decks in Technology
See All in Technology
音声言語モデル手法に関する発表の紹介
kzinmr
0
160
UIライブラリに依存しすぎないReact Native設計を目指して
grandbig
0
190
[Scram Fest Niigata2026]Quality as Code〜AIにQAの思考を再現させる試み〜
masamiyajiri
1
200
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
530
「SaaSの次の時代」に重要性を増すステークホルダーマネジメントの要諦 ~解像度を圧倒的に高めPdMの価値を最大化させる方法~
kakehashi
PRO
3
3.7k
Microsoft 365 / Microsoft 365 Copilot : 自分の状態を確認する「ラベル」について
taichinakamura
0
450
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (後半)
oracle4engineer
PRO
3
210
「QA=テスト」「シフトレフト=スクラムイベントの参加者の一員」の呪縛を解く。アジャイルな開発を止めないために、10Xで挑んだ「右側のしわ寄せ」解消記 #scrumniigata
nihonbuson
PRO
3
760
自動テストだけで リリース判断できるチームへ - 鍵はテストの量ではなくリリース判断基準の再設計にあった / Redesigning Release Criteria for Lightweight Releases
ewa
7
3.2k
MySQL 9.7がやってきた ~これまでのあらすじと基本情報~ @ 日本MySQLユーザ会会2026年04月 / mysql97-yattekita
sakaik
0
170
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
170
コードや知識を組み込む / Incorporate Code and Knowledge
ks91
PRO
0
210
Featured
See All Featured
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
190
Music & Morning Musume
bryan
47
7.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Statistics for Hackers
jakevdp
799
230k
RailsConf 2023
tenderlove
30
1.4k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
370
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
140
How to Ace a Technical Interview
jacobian
281
24k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
690
SEO for Brand Visibility & Recognition
aleyda
0
4.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.9k
Transcript
5JUBOJVN4UVEZ.FFUJOH5PLZP 5JUBOJVN4UVEZ.FFUJOH5PLZP "MMPZ "MMPZ Titanium MVC Framework Introduction of
5JUBOJVN4UVEZ.FFUJOH5PLZP 5JUBOJVN4UVEZ.FFUJOH5PLZP éĕđ éĕđ Ryutaro Miyashita ryugoo_ ryutaro.miyashita
imthinker.net 5JUBOJVN.PCJMFϢʔβʔձॻه
5JUBOJVN4UVEZ.FFUJOH5PLZP 5JUBOJVN4UVEZ.FFUJOH5PLZP ˇɬ ˇɬ
5JUBOJVN4UVEZ.FFUJOH5PLZP 5JUBOJVN4UVEZ.FFUJOH5PLZP Üĕćð Üĕćð JavaScript.call(Titanium API) Called “Titanium Classic”
5JUBOJVN4UVEZ.FFUJOH5PLZP 5JUBOJVN4UVEZ.FFUJOH5PLZP ÜĕÔĒ ÜĕÔĒ Alloy(JavaScript.call(Titanium API)) JavaScript.call(Titanium API) +
5JUBOJVN4UVEZ.FFUJOH5PLZP 5JUBOJVN4UVEZ.FFUJOH5PLZP ËĖÍ ËĖÍ ϩδοΫͱݟͨͱσʔλॲཧͷ ίʔυ͕ΰνϟΰνϟͯͯ͠ΠϠΠϠ ϕετϓϥΫςΟεͷܹ͍͠ҠΓมΘΓ 5JJODMVEFͩͬͨΓ$PNNPO+4ͩͬͨΓʜ+44 ͋Γ·͚ͨͬ͠ ͏;;ɻ
5JUBOJVN4UVEZ.FFUJOH5PLZP 5JUBOJVN4UVEZ.FFUJOH5PLZP "QQDFMFSBUPS 0DJBM.7$ 'SBNFXPSL "QQDFMFSBUPS 0DJBM.7$ 'SBNFXPSL ËĖÍ ËĖÍ
ϩδοΫ $ JavaScript ݟͨ 7 XML + TSS σʔλॲཧ . Backbone.js େৎ"QQDFMFSBUPSͷ.7$ϑϨʔϜϫʔΫͩΑ
5JUBOJVN4UVEZ.FFUJOH5PLZP 5JUBOJVN4UVEZ.FFUJOH5PLZP ʔèԨŒŤ¦ ʔèԨŒŤ¦ ڞ௨ཁૉ·ͱΊͨΓ*%$MBTTׂΓͯͨΓ "Window": { backgroundColor: "#FFFFFF" }
<Alloy> <Window> <Label id="a" /> </Window> </Alloy> ݟͨ9.-Ͱ
5JUBOJVN4UVEZ.FFUJOH5PLZP 5JUBOJVN4UVEZ.FFUJOH5PLZP ŬķłĮIJŲŇŬ¦Ũ¦ ŬķłĮIJŲŇŬ¦Ũ¦ ݟ͍ͨͬͨ͡ΓɺΠϕϯτॲཧ͠·͢ $.index.on("open", function (e) { $.a.title
= "Window is open!"; }); τοϓϨϕϧ6* ˣ Πϕϯτϋϯυϥ ˣ *% ˢ
5JUBOJVN4UVEZ.FFUJOH5PLZP 5JUBOJVN4UVEZ.FFUJOH5PLZP ņ¦ľ͎ՓšņŪ ņ¦ľ͎ՓšņŪ σʔλϕʔεͱ͔1SPQFSUJFTͷ͓ࣄ var app = Alloy.createModel("user"); app.set({
username: "Foobar", password: "Hoge" }); app.get("username"); // -> Foobar app.save(); VTFSϞσϧΛΦʔϓϯ ˢ ˡϞσϧʹσʔλΛηοτ ˡอଘ
5JUBOJVN4UVEZ.FFUJOH5PLZP 5JUBOJVN4UVEZ.FFUJOH5PLZP "QQT%FNP "QQT%FNP վΊͯ(JU)VCͰίʔυΛެ։༧ఆͰ͢
5JUBOJVN4UVEZ.FFUJOH5PLZP 5JUBOJVN4UVEZ.FFUJOH5PLZP òÏ˶Ï òÏ˶Ï Titanium Studio 3.0 (for User)ɹ
৽نϓϩδΣΫτͷςϯϓϨʔτ͔Β Node.js + npm (for ਓபPro)ɹ TVEPOQNJOTUBMMHUJUBOJVN TVEPOQNJOTUBMMHBMMPZ
5JUBOJVN4UVEZ.FFUJOH5PLZP 5JUBOJVN4UVEZ.FFUJOH5PLZP ͜Μͳײ͡
5JUBOJVN4UVEZ.FFUJOH5PLZP 5JUBOJVN4UVEZ.FFUJOH5PLZP ˶ÑĔ ˶ÑĔ ˕ TSS͕ͱͬͯศར(´∀ʆ) ˚ ͪΐͬͱ͚ͩ໘͍͘͞(´Дʆ) ʷ Backbone.jsͷࣝඞཁ(‘A`)
ίʔσΟϯάϧʔϧͷ౷ҰԽͱ͍͏ϙΠϯτ ݸਓͷײͰ͢ɻޮՌΛอূ͢ΔͷͰ͋Γ·ͤΜɻ
5JUBOJVN4UVEZ.FFUJOH5PLZP 5JUBOJVN4UVEZ.FFUJOH5PLZP íćēø íćēø औѻʹ׳Ε͕ඞཁͰ͢ ׳ΕΔͱͦͦ͜͜ΩϨΠͳߏʹͳΓ·͢ Adobe Flex Ϣʔβऔ͖͍͔ͬͭ͢ ࠓ·Ͱͷํ๏͕ඇਪનʹͳΔΘ͚Ͱ͋Γ·ͤΜ
͔ͩΒօͰਓபʹͳΖ͏ ใڞ༗ϑΟʔυόοΫ
5JUBOJVN4UVEZ.FFUJOH5PLZP 5JUBOJVN4UVEZ.FFUJOH5PLZP ͰӰøòÜ ͰӰøòÜ (JU)VCͷ3FBENFඞಡ ϦϙδτϦʹςετ͋ΔΑ IUUQTHJUIVCDPNBQQDFMFSBUPSBMMPZ 2VJDL4UBSUඞಡ IUUQQSPKFDUTBQQDFMFSBUPSDPNBMMPZEPDT"MMPZCPPUTUSBQ #BDLCPOFKT
#BDLCPOF&WFOU#BDLCPOF.PEFM IUUQCBDLCPOFKTPSH ެࣜυΩϡϝϯτΛΕͪΌ͍͚ͳ͍ IUUQEPDTBQQDFMFSBUPSDPNUJUBOJVNBQJ"MMPZ
5JUBOJVN4UVEZ.FFUJOH5PLZP 5JUBOJVN4UVEZ.FFUJOH5PLZP $0%&4530/( $0%&4530/(