08448380779 Call Girls In Greater Kailash - I Women Seeking Men
We don’t need no stinkin app server! Building a Two-Tier Mobile App
1. We Don’t Need No Stinkin’ App Server!
Building a Two-Tier Mobile App
Pat Patterson
@metadaddy
Principal Developer Evangelist
salesforce.com
2. Safe Harbor
Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain
forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if
any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results
expressed or implied by the forward-looking statements we make. All statements other than statements of historical
fact could be deemed forward-looking, including any projections of subscriber growth, earnings, revenues, or other
financial items and any statements regarding strategies or plans of management for future operations, statements of
belief, any statements concerning new, planned, or upgraded services or technology developments and customer
contracts or use of our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and
delivering new functionality for our service, our new business model, our past operating losses, possible fluctuations in
our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures,
the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and
motivate our employees and manage our growth, new releases of our service and successful customer deployment,
and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the
financial results of salesforce.com, inc. is included in our annual report on Form 10-K filed on March 9, 2012 and in
other filings with the Securities and Exchange Commission. These documents are available on the SEC Filings section of
the Investor Information section of our Web site.
Any unreleased services or features referenced in this or other press releases or public statements are not currently
available and may not be delivered on time or at all. Customers who purchase our services should make the purchase
decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not
intend to update these forward-looking statements.
15. RESTful Database API
Resource Name URI Description
Versions / List of supported API versions
Resources by /vXX.X/ Available resources for this version
Version
Describe Global /vXX.X/sobjects/ Available objects and metadata
SObject Basic Info /vXX.X/sobjects/SObject/ Metadata for object
SObject Describe /vXX.X/sobjects/SObject/describe/ Metadata for object fields etc
SObject Rows /vXX.X/sobjects/SObject/id/ Access record by native ID
SObject Rows by /vXX.X/sobjects/SObject/fieldName/fieldValue Access record by external ID
External ID
User Password /vXX.X/sobjects/User/userId/password Set/reset user password
Query /vXX.X/query/?q=soql SOQL query
Search /vXX.X/search/?s=sosl SOSL query
http://www.salesforce.com/us/developer/docs/dbcom_api_rest/index.htm
18. Mobile App Spectrum
Native Hybrid Web
HTML5 + HTML5 +
Objective C /
CSS + CSS +
Java
JavaScript JavaScript
19. Atwood’s Law
“Any application that can be written in
JavaScript, will eventually be written in
JavaScript.”
http://www.codinghorror.com/blog/2007/07/the-principle-of-least-power.html
20. Proof Point: LinkedIn iPad App
“Yes, only one screen in the entire
LinkedIn iPad app is actually native.
The rest is good ol’ HTML5-based
mobile web technology, running in the
browser.”
http://venturebeat.com/2012/05/02/linkedin-ipad-app-engineering/
22. Salesforce Mobile SDK
• Hybrid support built on PhoneGap 1.2
+ OAuth 2.0 built in
+ JavaScript binding to database.com REST API
• Current Version 1.1
– Added Secure Offline API, more flexible OAuth 2.0 and more
• Version 1.2 coming soon
– Adds PIN protection, session timeout and more
2012
1.0 1.1 1.2
Dec 2011 Mar 2012 Soon!
• And…
27. Conclusion
• Database-as-a-Service can dramatically
simplify your web app’s back end
• Frameworks such as Apache Cordova
accelerate mobile app development
• Combine the two for rapid mobile app
development
28. Thank You!
Pat Patterson
@metadaddy
Principal Developer Evangelist
salesforce.com
Hinweis der Redaktion
The traditional 3-tier architecture – web server, app server, database.
Back in the days of Web 1.0, we served up web pages to browsers…
…this required lots of code on the app server to retrieve data from the database and render it into those web pages, but very little code in the browser.
Web 2.0 brought Ajax, so the amount of code in the browser increased as JavaScript retrieved data from the app server. Code on the app server shrank, since it was easier to return data than render a page.
Now, websites such as Twitter use the page as a vehicle for a complete JavaScript web app that does all the retrieval and rendering of data. The back end shrinks again.
Mobile enters the mix, and mobile apps running on the device do away with web pages altogether…
…so you no longer need the web tier. The app server is reduced to marshalling data in and out of the database. What if the database itself spoke JSON over HTTP?
This is the basis of the 2-tier architecture – app executing on the device interacting directly with a Database-as-a-Service. Still some code in the back-end for data validation, actions on triggers etc.
Technology on the device is iOS or Android. I’ve heard there are other alternatives, but I rarely see them!
A plethora of choices for the back end. These are all online services that talk JSON-over-HTTP.
Every element of data and metadata in database.com is accessible by an HTTP operation on a URL.
Native apps look great, perform well, but are more difficult to write than web apps. Web apps, on the other hand, can’t access device functionality such as the camera. Hybrid mobile app platforms such as PhoneGap offer a middle way – write your app in HTML/CSS/JS, but get access to device features, and package the app for distribution via the AppStore.