Codestrong 2012 breakout session building your own custom cloud services
-
Upload
appcelerator-inc -
Category
Documents
-
view
509 -
download
1
Transcript of Codestrong 2012 breakout session building your own custom cloud services
![Page 1: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/1.jpg)
Node.ACSAppcelerator Custom Cloud Services
Wei KongDirector of Engineering, Cloud Services
Appcelerator Inc.@baobeimm
![Page 2: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/2.jpg)
Appcelerator Cloud Services (ACS) as Instant Mobile Backend
![Page 3: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/3.jpg)
• Easy to use
• Cross Platform (REST Api based)
• Predefined object models
• Custom Objects and Fields
• No Server Code Needed
The Good
![Page 4: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/4.jpg)
• Custom Code
• Web Hosting
• Support of Custom URLs
• Can have extra overhead with the network and battery consumption
What’s Missing
![Page 5: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/5.jpg)
Introducing Custom Cloud Services (Node.ACS)
![Page 6: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/6.jpg)
• Complete Solution to your Mobile Backend
• JavaScript for both Client and Server
• Fully Integrated with ACS
Node.js + ACS
JS
![Page 7: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/7.jpg)
• Use JavaScript to write Web Servers
• Based on Google’s V8 Engine
• Event-driven/None-blocking IO
• Lightweight and efficient
• More at http://nodejs.org
Node.js in a Nutshell
![Page 8: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/8.jpg)
• Performance and Scalability
• Easy to Integrate Network Components
• JavaScript
Why Node.js
![Page 9: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/9.jpg)
Node.ACS Architecture
![Page 10: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/10.jpg)
ACS Network Layer
ACS
![Page 11: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/11.jpg)
Test Locally
Create a app
Publish to Node.ACS Cloud
Set Custom CnameEx. http://www.yourapp.com
The Development Flow
Unpublish
![Page 12: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/12.jpg)
Multiple Versions
V1
V2
V3
Device (v1)
Device (v2)
Device (v3)
Latest
your app
![Page 13: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/13.jpg)
Demo and Sample Code
![Page 14: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/14.jpg)
Web Server
Sample web server to display your
app data stored in ACS
![Page 15: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/15.jpg)
var user = { session:"",};api.login = function(req, res) {
if(user.session === ""){ ACS.Users.login({login: req.body.un,password: req.body.pw}, function(e) { if(e.success && e.success === true){
user.session = e.meta.session_id;}else{
res.redirect(version+'/index?msg='+e.message); } }, req, res); }else{ res.redirect(version+'/show'); }}
What’s wrong?
![Page 16: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/16.jpg)
Websocket
A group chat app
based on websocket
![Page 17: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/17.jpg)
websocket.message = function(data, socket) {socket.broadcast.emit('message', data);
};
Group Chat
// Received a message iosocket.on('message', function(message) {
// Display the message});
// User types a message$('#outgoingChatMessage').keypress(function(event) {
iosocket.emit('message', $('#outgoingChatMessage').val());}
Server Code
Client Code
![Page 18: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/18.jpg)
Roadmap
![Page 19: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/19.jpg)
• One free Node.js Worker/app
• 100M Free disk space/app
• Unlimited API calls
What’s in Preview
![Page 20: Codestrong 2012 breakout session building your own custom cloud services](https://reader038.fdocuments.us/reader038/viewer/2022102901/554d1899b4c905805d8b552c/html5/thumbnails/20.jpg)
• Background job workers
• Node.js Monitoring
• More 3rd party services integrations
• Web Console
• Flexible free tier
• Auto sleep and reactivation
Coming Soon