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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
エンタープライズの厳格な制約を開発者に意識させない:クラウドネイティブ開発基盤設計/cloudnative-kaigi-golden-path
mhrtech
0
450
Directions Asia 2026 | Beyond Buildable AI Agents: Let’s Visualize Partner Value in the AI Era
ryoheig0405
0
110
Redmine次期バージョン7.0の注目新機能解説 — UI/UX強化と連携強化を中心に
vividtone
1
190
freeeで運用しているAIQAについて
qatonchan
1
650
AI全盛の今だからこそ、あえてもう一度振り返るAPIの基礎
smt7174
3
130
TypeScriptで実現する既存APIを活用したリモートMCPサーバー構築 / TSKaigi 2026
soarteclab
0
110
実践 TanStack Start ― 新規プロダクトを開発して確立した、サーバーとクライアント境界の設計パターン / Practical TanStack Start Server-Client Boundary Patterns
kaminashi
1
110
Loadbalancing exporter internals
ymotongpoo
1
110
AIAgentと取り組むKaggle
508shuto
2
390
障害対応のRunbookは作った、でも本当に動くの? AWS FIS で EKS の AZ 障害を再現してみた
tk3fftk
0
110
Oracle Cloud Infrastructure presents managed, serverless MCP Servers for Oracle AI Database
thatjeffsmith
1
570
分断された OT と IT を繋ぐ架け橋 -Kubernetes が切り拓く 産業用組み込み製品の現在地 -
yudaiono
1
120
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
570
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.9k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
350
Docker and Python
trallard
47
3.8k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
210
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
54k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
550
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
200
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/(