狠狠撸
Submit Search
2014 02-19-titanium meetupvol16
?
2 likes
?
1,614 views
Hiroshi Oyamada
Follow
1 of 16
Download now
Download to read offline
More Related Content
2014 02-19-titanium meetupvol16
1.
ACSをベースに1人でスマフ ォとWebアプリ開発に取り 組んでいた話 Photo By John
Shardlow http://www.?ickr.com/photos/john_scone/493915787/ 14年2月19日水曜日
2.
簡単に自己紹介 こういうブログを 書いてます 14年2月19日水曜日 アプリ2本リ リース
3.
最近の活動 平日早朝+週末で 社内向けに営業支援業務アプリ作ってました アプリで利用する 企業やユーザ情報 を管理するバック エンドツール Titanium Mobile+ACS 14年2月19日水曜日 Node.js+express+Jade+acs-node
4.
ACSとは? ? Titaniumの開発元のAppceleratorが提供する MBaaS(エムバース) ? ? ? MBaaSについて詳しくは技術評論社さんの記事を http://gihyo.jp/dev/serial/01/mbaas/0002 Parseの方が知名度高いかなぁ?? スマフォアプリのバックエンドの機能で必要になりそうな 機能が揃ってる ? ? 14年2月19日水曜日 当然Titanium Mobileから扱いやすい Appceleratorが提供するNode.js用のnpmモジュー ルのインターフェースがTitaniumのそれとほぼ同じな のでTitaniumの延長線上で気軽にWebアプリも作れる
5.
ACSの管理画面はこんな感じ 14年2月19日水曜日
6.
ACS利用する方法 ? TitaniumStudioでプロ ジェクト設定を行った後 tiapp.xmlを開いて Enable Cloud Serviceesの項目の Enableボタンをポチッ とする ?
Production Keyと Development Keyの 2つが表示されればOK です 14年2月19日水曜日 tiapp.xml
7.
ACSのサンプルコードを ちょっと紹介 ?Garry Ing http://www.?ickr.com/photos/garrtron/4469056722/ 14年2月19日水曜日
8.
ある地点の周辺のお店検索 # ACS利用するためのおまじない ACS =
require('ti.cloud') # 東京駅周辺の緯度と経度 latitude = 35.681382 longitude = 139.766084 # Webの管理画面からお店情報などを登録しておくと # 以下クエリで東京駅周辺の情報が20件検索できる ACS.Places.query page: 1 per_page: 20 where: lnglat: $nearSphere:[longitude,latitude] $maxDistance: 0.01 , (e) -> if e.success for place in e.places Ti.API.info place.name 14年2月19日水曜日
9.
登録済のユーザの メールアドレスを表示する # ACS利用するためのおまじない ACS =
require('ti.cloud') ACS.Users.query page: 1 per_page: 1 where: username:”h5y1m141” , (e) -> if e.success for user in e.users Ti.API.info user.email 14年2月19日水曜日
10.
登録済のユーザ宛にメールする # ACS利用するためのおまじない ACS =
require('ti.cloud') ACS.Users.query page: 1 per_page: 20 , (e) -> if e.success for user in e.users # Webの管理画面からSAMPLEという名前のテンプレートを作成 # テンプレート内にmessageBodyという変数を設定 ACS.Emails.send( template:'SAMPLE' recipients:user.email messageBody:”test mail to #{user.name}” ,(result) -> Ti.API.info "sendmail result: #{result}" ) 14年2月19日水曜日
11.
直感的にコード書ける APIが提供されています ?jeffrey james pacres http://www.?ickr.com/photos/jjpacres/3293117576/ 14年2月19日水曜日
12.
良さそうに見えるけどやっぱりそれなりに 落とし穴もあります たまに出る謎のエラー 標準機能ではオブジェクト単位での一括登録や削除機能がない 14年2月19日水曜日
13.
後者についてはNode.jsをちょっと勉強してacs-nodeと いうnpmモジュール使えば解決できる log4js = require("log4js") log4js.configure
appenders: [ ? type: "file" category: "request" filename: "logs/request.log" pattern: "-yyyy-MM-dd" ? ] loggerRequest = log4js.getLogger("request") loggerRequest.info "this is request log" ? # 自作モジュール類の読み込み path = require("path") modulePath = path.resolve(__dirname, "lib/geocoder.js") Geocoder = require(modulePath).Geocoder geocoder = new Geocoder() ? serverModulePath = path.resolve(__dirname, "lib/server.js") Server = require(serverModulePath).Server server = new Server()? wait = (item, callback) -> setTimeout((-> geocodingAPI = "http://www.geocoding.jp/api/" address = encodeURIComponent(item.address) url = "#{geocodingAPI}?v=1.1&q=#{address}" ? geocoder.start(url,(err,statusCode,body) -> if not err callback(body,item.clientName) ) ? ), 5000) clientList =[{"clientName":"xx","address":"xxx"}] 14年2月19日水曜日 act = ()-> # パラメータが無くなっていれば終了 return if clientList.length is 0 param = clientList[0] geocodingAPI = "http://www.geocoding.jp/api/" address = encodeURIComponent(param.address) clientName = param.clientName address = param.address url = "#{geocodingAPI}?v=1.1&q=#{address}" geocoder.start(url,(err,statusCode,body) -> if not err and body.lat isnt null and body.lng isnt null clientData = name:clientName address:address latitude:body.lat longitude:body.lng loggerRequest.info("client: #{clientName}") server.confirmClientInfo(clientData,(response) -> if response is true loggerRequest.info("#{clientName} already exist!!") else server.registClientInfo(clientData,(response) -> if response is false loggerRequest.info("FAIL: #{clientName} data is #{clientData}") else loggerRequest.info("success data is #{clientData}"") ) ) else loggerRequest.info("error clientName is #{clientName}") ) clientList.shift() setTimeout (-> act() ), 6500 act()
14.
使ってる方いましたらお互 い積極的にアウトプットし ていきましょう! Photo By Rusty
Sheri? http://www.?ickr.com/photos/rustysheri?/4908212366/ 14年2月19日水曜日
15.
おまけ: Titanium+ACS連携サンプルアプリ ? とても初歩的な内容ですがGitHubに資料あるので興 味ある方こちらご覧ください ? https://github.com/h5y1m141/ streetAcademy/blob/master/4thStep.md ?
上記資料使った少人数制のTitaniumMobile開発のワ ークショップをたまにやってます ? 詳しくはStreetAcademy(http://streetacademy.com/myclass/443) 14年2月19日水曜日
16.
LT Finish 14年2月19日水曜日
Download