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
Titanium ならここまでできる !! Serverside non-programing...
Search
astronaughts
August 13, 2012
Technology
1
380
Titanium ならここまでできる !! Serverside non-programing で作る お手軽 Social Application
「サンプルアプリでデモ」の部分の内容はありません。
astronaughts
August 13, 2012
Tweet
Share
More Decks by astronaughts
See All by astronaughts
Sublime Text の プラグイン開発の方法
astronaughts
0
520
Package と Theme の作り方と PackageControl 登録までの道のり
astronaughts
0
370
Sublime Text を 俺色に染める方法
astronaughts
2
920
GRUNT のあんなこといいなできたらいいな
astronaughts
14
2.3k
Re:Development of ChatWork Apps
astronaughts
1
2.1k
Rapid Prototyping by TiShadow
astronaughts
4
2.9k
Sublime Text 2 for PHP Development
astronaughts
0
250
Fathm Like ScrollableView Implementaion for TItanium mobile
astronaughts
3
3.8k
Other Decks in Technology
See All in Technology
AI機能プロジェクト炎上の 3つのしくじりと学び
nakawai
0
180
OpenCensusと歩んだ7年間
bgpat
0
280
AWSが好きすぎて、41歳でエンジニアになり、AAIを経由してAWSパートナー企業に入った話
yama3133
2
220
AI時代の発信活動 ~技術者として認知してもらうための発信法~ / 20251028 Masaki Okuda
shift_evolve
PRO
1
130
IBC 2025 動画技術関連レポート / IBC 2025 Report
cyberagentdevelopers
PRO
2
230
20251027_マルチエージェントとは
almondo_event
1
500
.NET 10のBlazorの期待の新機能
htkym
0
170
DMMの検索システムをSolrからElasticCloudに移行した話
hmaa_ryo
0
310
SOTA競争から人間を超える画像認識へ
shinya7y
0
650
累計5000万DLサービスの裏側 – LINEマンガのKotlinで挑む大規模 Server-side ETLの最適化
ldf_tech
0
100
戦えるAIエージェントの作り方
iwiwi
17
7.7k
JAWS UG AI/ML #32 Amazon BedrockモデルのライフサイクルとEOL対応/How Amazon Bedrock Model Lifecycle Works
quiver
1
480
Featured
See All Featured
Embracing the Ebb and Flow
colly
88
4.9k
Scaling GitHub
holman
463
140k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
Balancing Empowerment & Direction
lara
5
710
Building an army of robots
kneath
306
46k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
680
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Transcript
Ti.Developers.meeting vol.5 in Kyoto @astronaughts TitaniumͳΒ͜͜·ͰͰ͖Δ Serverside non-programingͰ࡞Δ ͓खܰSocial Application
20128݄13݄༵
Profile Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
Profile ͏͑ͷ·͞ͻΖ astronaughts t i am Developer Ti.Developers.meeting vol.5 in
Kyoto 20128݄13݄༵
Profile ͏͑ͷ·͞ͻΖ ࣄͰओʹ WebService ͷ։ൃʢPython / Djangoʣ Titanium ࠓͷͱ͜Ζझຯɺࣾ Project
Ͱ͍͍ͨ Titanium ྺ 1 ऑ Titanium ͰϦϦʔεͨ͠ΞϓϦ 0 Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
Titanium ͰϦϦʔεͨ͠ΞϓϦ 0 Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
0 Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
(´ɾωɾ`) Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
Agenda Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
Agenda - ACS Ͱ Sreverside non-programming Ͱ։ൃ - SingOn ͷ۩ମతͳ։ൃखॱ
- ACS ͬͯͯݱ࣌ͷϝϦοτʗσϝϦοτ - ͓·͚ Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
Agenda - ACS Ͱ Sreverside non-programming Ͱ։ൃ - αϯϓϧΞϓϦͰσϞ -
ACS ͬͯͯݱ࣌ͷϝϦοτʗσϝϦοτ Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
ACS ͱʁ Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
ACS ͱʁ Appcelerator ͕ఏڙ͢Δ Titanium ͷͨΊͷ BaaS Titanium SDK 2.0
͔Βొ API ͕ॆ࣮͍ͯͯ͠ Titanium Ҏ֎͔Βར༻Մೳ Web ্Ͱσʔλͷཧ͕ग़དྷΔ ͔͠ҰఆྔͷΞΫηεͳΒແྉɻஅવ͓ಘʂ Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
BaaS ͱʁ Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
BaaS ͱʁ ຊདྷɺϞόΠϧΞϓϦ։ൃʹඞཁͩͬͨόοΫΤϯυ෦Λ ఏڙͯ͘͠ΕΔ৽͍͠αʔϏε - Ϣʔβʔཧ - σʔλετΞ - ֤छιʔγϟϧαʔϏεͱͷ࿈ܞ
- ϩέʔγϣϯ࿈ܞ ఏڙ͞ΕΔओͳػೳ ͭ·ΓίϨΛར༻͢ΕαʔόʔαΠυͷ։ൃෆཁʂʁ Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
ACS Ͱग़དྷΔ͜ͱ Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
۩ମతʹɾɾɾ http://www.appcelerator.com/cloud Ti.Developers.meeting vol.5 in Kyoto ACS Ͱग़དྷΔ͜ͱ 20128݄13݄༵
API ͷछྨ Ti.Developers.meeting vol.5 in Kyoto ACS Ͱग़དྷΔ͜ͱ - Ϣʔβʔ
- ࣸਅσʔλ - Push σʔλ - ϝʔϧςϯϓϨʔτ - ΧελϜΦϒδΣΫτʢJSONʣ - Key - Value Tier 1 APIs - Ґஔใ - Statusɹ - Postɹ - ... ͦͷଞ͍Ζ͍Ζ Tier 2 APIs ଟ͍ͷͰলུɺTier 1 APIs Ͱ͍͍ͩͨ OK ͪΌ͏ʁ 20128݄13݄༵
ؾʹͳΔແྉ Ti.Developers.meeting vol.5 in Kyoto ACS Ͱग़དྷΔ͜ͱ ͍ͮΕ͔Λ͑Δͱ STOP ...
ʢʈpʈʣ 250,000 Tier 1 APIs calls 250,000 Tier 2 APIs calls 5 GB strage Quotas are per month 20128݄13݄༵
͑ͦ͏ͳ߹ɺՃͰΛߪೖͰ͖Δ Ti.Developers.meeting vol.5 in Kyoto ACS Ͱग़དྷΔ͜ͱ ίϨͳΒ͓খݣ͍ͰͳΜͱ͔ͳΔʂʘʢʈ0ʈʣʗ + 1,000,000
Tier 1 APIs calls / $10 + 500,000 Tier 2 APIs calls / $10 + 20 GB strage / $5 Quotas are per month 20128݄13݄༵
ACS ΛͬͯΈΔ Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
ACS ΛͬͯΈΔ Ti.Developers.meeting vol.5 in Kyoto Titanium Studio ͔Β৽ن Project
࡞࣌ ͜ͷը໘Ͱ༗ޮʗແޮΛઃఆͰ͖Δ ͜Ε͚ͩ ޙී௨ʹ։ൃ 20128݄13݄༵
ιʔεϨϕϧͷղઆ Ti.Developers.meeting vol.5 in Kyoto ACS ΛͬͯΈΔ Cloud = require('ti.cloud');
// ϞδϡʔϧΛಡΈࠐΉ ϞδϡʔϧͷಡΈࠐΈ ࣮ ACS ༗ޮԽͨ࣌͠Ͱɺ tiapp.xml ʹ ti.cloud ͕ࣗಈతʹಡΈࠐ·Ε͍ͯΔ 20128݄13݄༵
ιʔεϨϕϧͷղઆ Ti.Developers.meeting vol.5 in Kyoto ACS ΛͬͯΈΔ Cloud.Users.login(function(res){ ɹɹ... });ɹ
Cloud.Users.logout(function(res){ ɹɹ... });ɹ API ͷར༻ ... ϩάΠϯʗϩάΞτ ACS ͷ֤ API ΞΫηε͢Δʹ·ͣϩάΠϯ͢Δඞཁ͕͋Δ ※ Ұ෦ೝূͳͯ͘ΞΫηεՄೳͳͷ͋Δ 20128݄13݄༵
ιʔεϨϕϧͷղઆ Ti.Developers.meeting vol.5 in Kyoto ACS ΛͬͯΈΔ var params =
{ɹ ɹɹclassname: ‘favorite_players’, ɹɹwhere: { user_id: ‘4ff3e0e10020441805003a61’ }, };ɹ Cloud.Objects.query(params, function(res){ɹ ɹɹif (res.success) ɹɹɹɹTi.API.info(res.favorite_players); }); API ͷར༻ ... ΧελϜΦϒδΣΫτͷऔಘ 20128݄13݄༵
Ti.Developers.meeting vol.5 in Kyoto ACS ΛͬͯΈΔ { success: 1, error:
0, meta: { code: 200, method_name: 'queryCustomObjects', page: 2, per_page: 10, status: 'ok', total_pages: 2, total_results: 12, }, favorite_players: [ { id: '4feaf1e70020447dd304cfd0', name: 'Randy W Bass', number: 44, created_at: '2012-06-27T11:43:35+0000', updated_at: '2012-06-27T11:43:35+0000', user: { ... }, }, API ͷར༻ ... ΧελϜΦϒδΣΫτͷऔಘ݁Ռ 20128݄13݄༵
ιʔεϨϕϧͷղઆ Ti.Developers.meeting vol.5 in Kyoto ACS ΛͬͯΈΔ Cloud.Objects.query Ͱ where
Ҏ֎ʹࢦఆͰ͖Δ݅ - ݁Ռͷιʔτ ... order order: ‘created_at’ // ࡞ॱ - ϖʔδ ... page page: 2 // 2 ϖʔδΛऔಘ - 1 ϖʔδ͋ͨΓͷऔಘ݅ ... per_page per_page: 15 // 1 ϖʔδ͋ͨΓσʔλΛ 15 ݅ͣͭऔಘ 20128݄13݄༵
ιʔεϨϕϧͷղઆ Ti.Developers.meeting vol.5 in Kyoto ACS ΛͬͯΈΔ var params =
{ɹ ɹɹclassname: ‘favorite_players’, ɹɹfields: { name: ‘Randy W Bass’, number: 44 }, };ɹ Cloud.Objects.create(params, function(res){ɹ ɹɹif (res.success) ɹɹɹɹTi.API.info(res.favorite_players); }); API ͷར༻ ... ΧελϜΦϒδΣΫτͷ৽نొ 20128݄13݄༵
ιʔεϨϕϧͷղઆ Ti.Developers.meeting vol.5 in Kyoto ACS ΛͬͯΈΔ API ͷར༻ ...
ΧελϜΦϒδΣΫτͷߋ৽ɺআ var params = { classname: ‘favorite_players’, fields: { name: ‘Randy W Bass’, number: 44 }, }; Cloud.Objects.update(params, function(res){ ... }); var params = { classname: ‘favorite_players’, id: '4feaf1e70020447dd304cfd0', }; Cloud.Objects.delete(params, function(res){ ... }); 20128݄13݄༵
ACS ͷσʔλཧ Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
Web ϕʔε GUI ... Appcelerator ͷαΠτ্ Ti.Developers.meeting vol.5 in Kyoto
ACS ͷσʔλཧ ͳ͍͠ΐ— 20128݄13݄༵
͚ͬ͜͏͔ͬ͠Γͨ͠࡞ΓͰɺϩάͳͲͷӾཡͰ͖Δ Ti.Developers.meeting vol.5 in Kyoto ACS ͷσʔλཧ 20128݄13݄༵
ͩɺ͕ͩɺΊͪΌͪ͘Όॏ͍ͧ Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
ACS ·ͱΊ Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
Ti.Developers.meeting vol.5 in Kyoto ACS ·ͱΊ Titanium SDK 2.0 ͔Βར༻Ͱ͖Δ
BaaS ແྉ͕༻ҙ͞Ε͍ͯͯؾܰʹ͑Δ ෳࡶͳઃఆෆཁɺ΄΅σϑΥϧτͰར༻Մೳ API ΞΫηεΑ͋͘Δ Ajax ͬΆ͍ॻ͖ํ Web ϕʔεͷ GUI ͰσʔλཧͰ͖Δ 20128݄13݄༵
Agenda - ACS Ͱ Sreverside non-programming Ͱ։ൃ - αϯϓϧΞϓϦͰσϞ -
ACS ͬͯͯݱ࣌ͷϝϦοτʗσϝϦοτ Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
Agenda - ACS Ͱ Sreverside non-programming Ͱ։ൃ - αϯϓϧΞϓϦͰσϞ -
ACS ͬͯͯݱ࣌ͷϝϦοτʗσϝϦοτ Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
ACS ͷϝϦοτ Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
ACS ͷϝϦοτ - ։ൃʗӡ༻ίετͷݮɺωΠςΟϒଆʹઐ೦Ͱ͖Δ - API ઃܭҙ֎ͱ͔ͬ͠Γ͍ͯ͠Δ αʔόʔαΠυͷ։ൃ͕ෆཁ Ti.Developers.meeting vol.5
in Kyoto - ͱΓ͋͑ͣແྉͰ͑Δͷͱͯ͋Γ͕͍ͨ - ΦϓγϣϯΛՃ͓ͯ͠ࡒʹ༏͍͠ අ༻ͱͯ͠Ϧʔζφϒϧ - RESTful ͳ API ͱͯ͠ɺOAuth ʹରԠ Titanium Ҏ֎͔Β༻Մೳ 20128݄13݄༵
ACS ͷσϝϦοτ Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵
ACS ͷσϝϦοτ - ίϯιʔϧૢ࡞ͱ͔ࠓͷͱ͜ΖෆՄʁ - ϩάͷࢀর ... ͋ͱɺμϯϓͰ͖ͳ͍ ... ͔͠ॏ͍
... σʔλͷཧ͕ web ্ͷΈ Ti.Developers.meeting vol.5 in Kyoto - A ͕ B ͷ࣌ʹ C Λߋ৽ͱ͍͏Α͏ͳ͜ͱαʔόʔͰग़དྷͳ͍ - σʔλͷΓऔΓͷઃܭγϯϓϧʹͳΒ͟ΔΛಘͳ͍ ͪΖΜαʔόʔଆͰͷσʔλૢ࡞ෆՄ ↑ɹAPI Λར༻ͯࣗ͠લͰ࡞ΕԿͱ͔ͳΔʂʢ 20128݄13݄༵
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ Ti.Developers.meeting vol.5 in Kyoto 20128݄13݄༵