2. Who Am I
• CEO Clearly Innovative Inc. mobile
development agency specializing in
HTML5, javascript & nodejs
• Over 20yrs software development experience
using mostly open source, java technologies
• Appcelerator Partner Platform
• 4+ years of working with Appcelerator
• Working on book with Appcelerator Cloud
Services and Alloy for Wiley & Sons
3. Why Cloud Services
• Because You Might Need…
– User Management
– Social Media Integrations
– Push Notifications
– Hosting
– Server side pre/post processing
– Legacy Integrations/Connectors
– Blob Storage
4. Where do you go?
•
•
•
•
•
•
Hire a developer…
Build your own custom API…
Find Hosting Provider…
Integrate a Push Notifications Server…
Find Database Designer/Developer…
Why manage all of this chaos!!!
6. Basic Services Provided
• APIs Provided
– JavaScript, IOS, Android, .NET, REST
• Most have a free starter plan
– See specific sites for more information
• Basic Features Most Have
– Custom Objects, Users, Push, Social
Integrations, File Storage and Geolocation
7. Parse
• Owned by Facebook, some consider it market
leader
• Features
– Cloud Code
– Simple Hosting Feature
– Free starter Pack
– Advanced Console, Great Documentation
– POOR Appcelerator Support and responsiveness
8. Stackmob
• There is a basic plan but it is rate limited and
difficult to determine restrictions without
calling support
• Differentiators
– Provides a marketplace of integrated services
– Advanced Custom Code: Java,Scala,Clojure
– HTML Hosting
– Binary Storage through Amazon S3
9. Kinvey
• Success Pricing Model
– You only pay if your application is successful
• Offline Cache is built into the solution
• Custom Business Logic
• Third Party Data Integration Feature
– Location & Social
10. Appcelerator
• Will focus more on Appcelerator in end, but
key benefits are
– Pre-built components
– Fits with the stack if you already use Appcelerator
– Node.ACS
11. How Long To Build an App
• Kinvey says it takes approximately 18 months
to build an app with huge effort spent on
backend.
• http://www.kinvey.com/blog/2086/how-longdoes-it-take-to-build-a-mobile-app
12. Leverage the Cloud to get to MVP
• Even if you don’t stay in cloud forever use it to
mitigate risk in early phase of project
• Build product and validate assumptions
• Conserve budget for value added functionality
• Conserve development effort for value added
functionality
13. JavaScript, Alloy & ACS
• JavaScript is EVERYWHERE
• Cross-Platform Mobile development for more
efficient development cycles
• Integrated Cloud Services Platform to further
enhance development cycle efficiencies
• Code & expertise utilized on mobile solution,
can be leveraged on web application
14. Alloy Benefits
• Alloy comes with a clean well defined XML UI
markup, style sheets, and reusable widget
components.
• Built-in Backbone.js and Underscore.js
support
15. Backbone.js gives structure to web applications
by providing models with key-value binding
and custom events, collections with a rich API
of enumerable functions, views with
declarative event handling, and connects it all
to your existing API over a RESTful JSON
interface.
16. Backbone In Alloy
• Models
– Keep track of your data
• Collections
– Manage lists/arrays of your data
• Sync Adapter(s)
– Local Storage, SQL, Properties, extendable
17. Alloy Models & Collections
• Collections inherit from Backbone.Collections.
• Created a simple Javascript object and it is persisted as an model
18. Alloy Sync Adapter
• Support for persisting application content
• Based on common REST verbs
– GET > READ
– PUT > UPDATE
– POST > CREATE
– DELETE > DELETE
• Can be integrated with local or remote data
stores
32. Use of Adapter in Alloy Code
• Creating a Photo using Backbone save
33. Node.ACS
• Built using NodeJS, ExpressJS under the covers
• Build and host custom services to extend
Appcelerator Cloud Services (ACS)
• Host your existing node.js app/service on the
Appcelerator Cloud
• Create Node.ACS apps directly from TiStudio
http://nodeacs.cloud.appcelerator.com/guides/quickstart
35. Aaron K Saunders
Twitter: @aaronksaunders
blog: http://blog.clearlyinnovative.com
Facebook: https://www.facebook.com/ClearlyInnovativeInc
Github : https://github.com/aaronksaunders/
SlideShare: http://www.slideshare.net/aaronksaunders/
1706 R Street, NW
Washington, DC 20009
www.clearlyinnovative.com
Hinweis der Redaktion
Time doesn’t really matter, the important thing here is that there is focus spent there and not on the mobile app
Time doesn’t really matter, the important thing here is that there is focus spent there and not on the mobile app
Extend the object you created in the Parse admin console, set the properties and call the save method
Kinvey allows you to use backbone as your base and then just extend your backbone model with kinvey’s models to get access to there backend; Kinvey like Parse utilizes promises OR callbacks for managing your application structure
Kinvey allows you to use backbone as your base and then just extend your backbone model with kinvey’s models to get access to there backend; Kinvey like Parse utilizes promises OR callbacks for managing your application structure
Kinvey allows you to use backbone as your base and then just extend your backbone model with kinvey’s models to get access to there backend; Kinvey like Parse utilizes promises OR callbacks for managing your application structure
Define the model type and then the specific collection name. we use the collection name in the sync adapter to know how to process the object
----- Meeting Notes (11/5/13 21:13) -----we set the Cloud variable so we have a local instance and then we pass it to the configuration variable so all of the asssociated models using this adapter have access to the ti.cloud library
When backbone does it’s magic, it is only concerned with the REST verbs, you need to figure out how to implement your functionality using these verbs.
We add the meta data to the object for use later, and create a photo using the same function as the ti.cloud library but get all of the benefits of backbone. You also get seperation of concerns in regards to functionality and flexibility in your implementation since you can always trade out your acs adapter for any other type of adapter
We add the meta data to the object for use later, and create a photo using the same function as the ti.cloud library but get all of the benefits of backbone. You also get seperation of concerns in regards to functionality and flexibility in your implementation since you can always trade out your acs adapter for any other type of adapter
We add the meta data to the object for use later, and create a photo using the same function as the ti.cloud library but get all of the benefits of backbone. You also get seperation of concerns in regards to functionality and flexibility in your implementation since you can always trade out your acs adapter for any other type of adapter
We add the meta data to the object for use later, and create a photo using the same function as the ti.cloud library but get all of the benefits of backbone. You also get seperation of concerns in regards to functionality and flexibility in your implementation since you can always trade out your acs adapter for any other type of adapter
All of these options can be easily accessed through the APIs, wrapped in a sync adapter and easily integrated into your application
We add the meta data to the object for use later, and create a photo using the same function as the ti.cloud library but get all of the benefits of backbone. You also get seperation of concerns in regards to functionality and flexibility in your implementation since you can always trade out your acs adapter for any other type of adapter