codestrong 2012 breakout session using appcelerator cloud services in your apps
TRANSCRIPT
Using Appcelerator Cloud Services in Your Apps
Michael GoffDirector of Engineering, Cloud Services
Appcelerator@mikegoff
Designing and implementing cloud-connected apps
• Top-down
• Pain points
• End users
• User interfaces
• User experience
How are apps designed?
Developers rarely start designing
their app by defining the data
structures or backend services.
They think of their goals and work
top-down to define the use cases
and flow.
The required backend services and
data models fall out of this.
Popular social apps
• Users
• Photos
• Checkins
• Status
• Friends
• Likes
• Reviews
What do they have in common?
Do it yourself client & server coding
• Design client app
• Write client app
• Test client app
• Deploy client app
• Design client/server API• Write server code• Resize photos• Provision servers• Store data reliably• Deploy code to servers• Test server code• Maintain servers• Scale servers• Manage SSL certificates
Build your app with ACS
• Design client app
• Write client app
• Test client app
• Deploy client app
• Use ACS APIs
• Manage your app data
20 cloud services that will rock your world (and make your apps successful)
20 predefined services
• Key-value store simple data
• Custom fields to supplement predefined data types
• Custom objects for defining your own data types
• Custom code allows you to write your own server-side components
Need more? Use custom data & code!
{ "meta": { "status": "ok", "code": 200, "method_name": "showUsers” }, "response": { "users": [{ "id":"4e8b8e627818261d1d0003a8", "first_name":”Cloud", "last_name":”User", "created_at":"2011-10-04T22:53:22+0000", "updated_at":"2012-05-08T17:12:43+0000", "email":”[email protected]", "custom_fields": { ”age”:28, ”show_size":”8", ”favorite_color":”blue” }
}] }}
ACS public cloud architecture
ACS API Server
NoSQL Database Search Engine
Amazon EC2
Amazon S3
File File
Photo Photo
ACS Network Layer
ACS Titanium & Native Client SDKs
ACS Push Server for iOS & Android
Using Appcelerator Cloud Services
• Create a Ti Studio project
• Add ACS features
• Manage data from the ACS admin console
• Refer to the Ti SDK & ACS documentation
Ti + ACS
• Create an ACS app on my.apcelerator.com
• Install the ACS iOS SDK
• Configure keys
• Add ACS features
• Manage data from the ACS admin console
• Refer to the ACS documentation
iOS + ACS
• We provide six predefined sizes, but you can specify your own with photo_sizes[]
• Photo resizing can be synchronous using photo_sync_sizes[]
• Photo processing extracts exif data
• Photos are downloaded from S3
• Retry uploads in your app
• Preload photo downloads
Handling Photos
• Use this to define your own types of objects (video, car, book)
• Fields are indexed and efficiently queryable
• Upcoming relational objects feature will allow inclusion of other predefined & custom objects
Custom Objects
Checkout the Building Custom Cloud Services talk @ 5pm today in Nob Hill!
iOS + ACS Apps
Ti + ACS Apps
Deployment options
ACS Public CloudACS Virtual
Private CloudACS Private Cloud
Hosted, managed by Appcelerator in the Cloud
Hosted, managed by Appcelerator in the Cloud
with dedicated infrastructure
Hosted, managed by the customer at their
premises or data center