Mobile has revolutionized the way we live and work and enterprises are demanding mobile business apps for their always-connected, mobile workforce. Salesforce Platform Mobile Services, announced in early April, gave developers two sets of tools to rise to the challenge - version 2.0 of the Salesforce Mobile SDK, and Salesforce Mobile Packs, a set of templates for writing web and hybrid mobile applications with HTML5, JavaScript and CSS using frameworks such as AngularJS, Backbone.js and jQuery Mobile. This webinar focuses on the Mobile Packs, but stay tuned for a future webinar on Mobile SDK 2.0.
In this webinar, Pat and Raja will explain the differences between the Mobile Packs currently offered, show you how to get started on your own mobile app, and give you pointers on building a great app with web technologies. Join us to learn all about:
Client-side JavaScript Model-View-* frameworks
Running the Mobile Pack templates on Force.com, off-platform web servers and as hybrid apps
Building your own mobile app using a Mobile Pack as the foundation
We'll start from the basics, so whether you're experienced with Force.com and looking to get started with mobile apps and JavaScript, or vice versa, join us, grab the Mobile Packs from GitHub, and start coding!
Human Factors of XR: Using Human Factors to Design XR Systems
Building Enterprise Apps Rapidly with Salesforce Mobile Packs Webinar
1. Building Enterprise Apps Rapidly
with Salesforce Mobile Packs
Pat Patterson, salesforce.com, Principal Developer Evangelist
@metadaddy
Raja Rao DV, salesforce.com, Developer Evangelist
@rajaraodv
2. Join the conversation: #forcewebinar
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 product or service availability, 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, new products and services, 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 outcome of
intellectual property and other litigation, risks associated with possible mergers and acquisitions, 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, our limited history reselling non-salesforce.com products, 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-Q for the most recent fiscal quarter ended July 31, 2012. This documents and others
containing important disclosures 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 presentations, 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.
3. Join the conversation: #forcewebinarJoin the conversation: #forcewebinar
Pat Patterson
Principal Developer
Evangelist,
@metadaddy
Raja Rao DV
Developer Evangelist,
@rajaraodv
Speakers
4. Join the conversation: #forcewebinar
Follow Developer Force for the latest news
@forcedotcom / #forcewebinar
Developer Force group
Developer Force – Force.com Community
+Developer Force – Force.com Community
Developer Force
5. Join the conversation: #forcewebinarJoin the conversation: #forcewebinar
Have questions?
§ We have an expert support team at the ready to answer your
questions during the webinar.
§ Ask your questions via the GoToWebinar Questions Pane.
§ The speaker(s) will choose top questions to answer live at the
end of the webinar.
§ Please post your questions as we go along!
§ Only post your question once; we’ll get to it as we go down the
list.
6. Join the conversation: #forcewebinarJoin the conversation: #forcewebinar
Agenda
§ Mobile at Salesforce
• Core Apps
• Platform
• Marketplace
§ Mobile Pack for AngularJS
• AngularJS in 15 Minutes
• Overview of the Mobile Pack
§ Roundup
7. Join the conversation: #forcewebinarJoin the conversation: #forcewebinar
Assumptions
This webinar assumes the following:
§ Some minimal knowledge of the Force.com
platform
§ Some minimal knowledge of JavaScript
But don t worry, this is an introduction to Mobile
Packs and AngularJS – we won t leave you behind!
8. Join the conversation: #forcewebinar
We’re living in the post-PC era
iPhone Revenue
Q1 FY12
$24.42 billion
TOTAL Microsoft Revenue
Q2 FY12
$20.89 billion
>
9. Join the conversation: #forcewebinar
Suite of downloadable apps for
accessing Salesforce data from
a mobile device
Mobile AppExchange for
discovering purpose-built apps
or vertical solutions by industry
Custom mobile apps
designed and built by you or
an ISV partner
Salesforce Has The Answer For Every Mobile Need
11. Join the conversation: #forcewebinar
Salesforce Mobile Packs
The Fastest Path From Idea to Connected Mobile App
Idea
Build App
with Modern
Frameworks
Connect
Customer &
Business Data
Connected
Mobile Apps
12. Join the conversation: #forcewebinar
Mobile Packs
Jumpstart web and hybrid mobile development
Focus on modern JavaScript frameworks
Simplify Salesforce data access
Deploy on the Force.com platform or elsewhere
(e.g. Heroku)
JavaScript based
Quick Starts and tutorials
13. Join the conversation: #forcewebinar
Current Mobile Packs
First of many mobile packs and samples
Open-source and community driven
15. Join the conversation: #forcewebinar
AngularJS – In 15mins
§ One of the most popular JavaScript frameworks.
§ Provides declarative MVC framework
§ Uses several advanced concepts like directives,
services, factories, modules, dependency injection etc. to
help quickly build (& test) production quality apps.
§ Has vibrant community support and funded by Google.
16. Join the conversation: #forcewebinar
Directives
§ Directives are simply strings on HTML that represent some function (behind-the-scene).
§ They look like:
• <span my-dir="exp"></span> or <span data-my-dir="exp"></span> or <span my-dir></span>!
• <span class="my-dir: exp;"></span>!
• <my-dir></my-dir> //custom element!!
• <!-- directive: my-dir exp --> //Even comments!
§ AngularJS calls and keeps track of directives and associated functions.
§ AngularJS has tons of built-in directives like ng-model, ng-repeat, ng-click etc.
Example 1: Show Hello <name>! as & when the user types in a field.
17. Join the conversation: #forcewebinar
Directives
Example 2: Show Hello <username> as the user types it BUT only if there
is some text.
21. Join the conversation: #forcewebinar
$routeProvider & $location “services” to switch views
§ Angular provides ‘#’ based routing via $routeProvider.
§ Configure when some #path is hit, which controller to use and which view to inject.
§ Use $location to actually change views inside a controller.
22. Join the conversation: #forcewebinar
Modules – Packaging it all up
§ Modules provides namespace & help divide your app into different pieces.
var myModule = angular.module( myModule’, [‘dependentMod1’,
‘dependantMod2’]);!
§ You can create and attach custom directives , controllers , services , factories etc to a
module.
myModule.directive(…) or myModule.controller(…) etc.
§ In AngularJS, your app itself is a module.
var myApp = angular.module(‘myAppName’, [depMod1, depMod2]!
§ Note: App name should match ng-app in html!.
<html ng-app=“myAppName”>!
</html>!
23. Join the conversation: #forcewebinarJoin the conversation: #forcewebinar
Best places to learn AngularJS..
§ http://docs.angularjs.org/tutorial/index
• AngularJS Tutorial
§ http://www.egghead.io/
• Excellent 44 short videos from @johnlindquist
§ http://www.youtube.com/user/angularjs
• AngularJS Youtube Channel
25. Join the conversation: #forcewebinarJoin the conversation: #forcewebinar
Recap & Resources
§ AngularJS provides declarative MVC via directives
• Less code = more quality, quicker development.
• Learn more:
• http://docs.angularjs.org/tutorial/index - AngularJS Tutorial
• http://www.egghead.io/ - 44 short videos from @johnlindquist
• http://www.youtube.com/user/angularjs AngularJS Youtube Channel
§ Other tools mentioned in the webinar:
• http://gruntjs.com/ - Grunt: JavaScript Task Runner
• http://yeoman.io/ - Yeoman: Workflow for Modern Webapps
26. Join the conversation: #forcewebinarJoin the conversation: #forcewebinar
Recap & Resources
§ AngularJS Mobile Pack provides a template to
kickstart your development
• https://github.com/developerforce/MobilePack-AngularJS
Github
• http://www2.developerforce.com/mobile/services/mobile-packs
Quick Start
§ Sign up for a FREE Developer Edition account
• http://developer.force.com/join
27. Join the conversation: #forcewebinarJoin the conversation: #forcewebinar
Next Steps
§ Get further acquainted with AngularJS
§ Run through the Mobile Pack Quick Start(s)
§ Build your own mobile app!
28. 2013 Mobile Dev Challenge
May the best mobile app win
Create your killer app with our New Mobile Packs
$16,000 up for grabs!
http://bit.ly/mobiledevchallenge13
29. Join the conversation: #forcewebinarJoin the conversation: #forcewebinar
Q&A
Pat Patterson
Principal Developer
Evangelist,
@metadaddy
Raja Rao DV
Developer Evangelist,
@rajaraodv