Présentation de Raouf Aimeur le 25 mars 2015 dans le cadre de la Mobile Banking Factory 2.
L'enregistrement est online sur la chaine youtube de la Mobile Banking Factory 2 : https://bitly.com/youtubeMBF2
4. All The Services You Need to Build Next Gen Apps
Chatter
Multi-
language
Translation
Workbench
Email
ServicesAnalytics
Cloud
Database
Schema
Builder
Search
Visualforce1
MonitoringMulti-tenant
Infrastructure
Apex
Data-level
Security
Workflows
Social
APIs
Analytics
APIs
Bulk APIsRest APIs Metadata
APIs
Soap APIs
Private App
Exchange
Custom
Actions
Identity
Mobile
Notifications
Tooling
APIs
Developer
Mobile Packs
Mobile SDK Offline Support
Streaming
APIs
Geolocation
ET 1:1 ET fuel
Heroku1
Heroku Add-Ons
Sharing Model
ET API
APIs
Mobile
Services
Core
Services
5. What Makes Force.com Unique?
The Benefits of Our Multi-Tenant Architecture
Seamless UpgradesEconomies of Scale
High Availability
Continuous
Innovation
Instant
Capacity
More Secure
Over Time
Developer
Productivity
Faster, More Scalable
Over Time
6. Two Ways to Build and Surface Mobile Apps
Mobile SDK AppsSalesforce1 Apps
7. Declarative versus Programmatic
Visualforce Page
Canvas API
Apex Classes
Apex Triggers
Apex Class
Workflow
Visual Workflow
Validation Rules
Approval Processes
Objects
Fields
Relationships
Applications
Tabs
Page Layouts
Record Types
User
Interface
Business
Logic
Data
Model
Force.com Fundamentals : https://developer.salesforce.com/docs/atlas.en-us.fundamentals.meta/fundamentals/
Force.com Workbook : https://developer.salesforce.com/docs/atlas.en-us.workbook.meta/workbook/
8. Want a new App? Create your Data Model First!
Define your Relational Model then…
The system creates for you:
• Default screens to manage data visualization, entry and search
• Default API for each object
• Default reporting models
• All Collaborative and Mobile
Then you can:
• Define sharing rules, roles and profile
• Customize screen layouts
• Create you own business rules and workflows
• Create list views and reports
• …
9. Unlimited Custom Objects & Fields
Build any Table
Add any Field
Automatic Audit History Tracking
Automatic Performance Tuning
Integrated collaboration features 1m+ Custom Objects (Tables)
Unlimited Real-Time Customization
Easy, Real-Time Customization
for Managing All Your Data
12. Declarative Development with a Programmatic Bridge
Drag n Drop App Builders
Point & Click Admin
Bridges to Programmatic
Declarative Platform
Business Developers
80%
Eclipse or Cloud IDE
Apex Code
Visualforce Pages
Rich Set of APIs
Programmatic Platform
Professional Developers
20%
Bridges
In
Between
Apex Developer’s Guide : https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/
Apex Workbook : https://developer.salesforce.com/docs/atlas.en-us.apex_workbook.meta/apex_workbook/
13. Real-Time Visibility with
Easy to Create Reports
Customizable by Business Users
Real-Time Reporting
Integrated Analytics Across All Apps
Security Controls
Mobile Access
Email Dashboard Delivery
Real Time Analytics
14. Granular Real-Time Security Model
Field, Object and Record-Level Control
Sharing Across All Apps
Custom Rules Across Roles & Profiles
Integrated with API, Reporting & Search
Flexible Data Sharing
with Point-and-Click Rules
15. Broad Open Standard Support for Identity and Authentication
Single Sign-On
• SAML 2.0 Identity Provider
• SAML 1.1 / 2.0 Service Provider
• OpenID Connect
API Access
• OAuth 2
• OAuth 2 SAML Bearer Tokens
• OAuth 2 JWT Bearer Tokens
Cloud Directory & Provisioning
• SCIM
• SAML Provisioning
16. APIs and Toolkits Libraries SDKs
BULK API
Streaming API
Tooling API
REST API
Analytics API
SOAP API
Metadata
API
Streaming
API
REST API Developer’s Guide : https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/
Platform Mobile Services : https://developer.salesforce.com/mobile
17. Calling REST APIs from Apex
Apex supports HTTP Services with several built in Apex classes to creating HTTP requests like GET,
POST, PUT, and DELETE :
• HTTP Class: Use this class to initiate an HTTP request and response.
• HttpRequest Class: Use this class to programmatically create HTTP requests.
• HttpResponse Class: Use this class to handle the HTTP response returned by the HTTP.Send()
operation.
https://developer.salesforce.com/page/Apex_Web_Services_and_Callouts
Need to allow communication with remote site for security reasons
18. Getting Data from Javascript
Native and hybrid local REST API : Web Services
• JavaScript REST Toolkit in the Mobile SDK
• From any Javascript framework, e.g. JQuery
Hybrid remote : Javascript Remoting from visualforce pages
• JavaScript remoting is a tool that front-end developers can use to make an
AJAX request from a Visualforce page directly to an Apex controller
• alleviate view state issues
• optimized for use on mobile pages and on pages that use third-party
JavaScript libraries.
Offline Service
• SmartSync Data Framework
• SmartStore
REST API calls from Javascript :
https://developer.salesforce.com/blogs/developer-relations/2013/06/calling-the-force-com-rest-api-from-visualforce-
pages-revisited.html
19. Business Requirements dictates Approach
Single Platform
Multiple
Platforms
NativeAdvanced UI interactions
Fastest performance
App Store distribution
HybridWeb developer skills
Access to native platform
App Store distribution
Full Capability
Partial Capability
HTML5Web developer skills
Instant updates
Unrestricted distribution
20. Mobile SDK Features – Native and Hybride Apps
REST API
• REST API wrapper classes
Native browser container
• Includes PhoneGap/Cordova Layer with ability to add plug-ins
Salesforce OAuth Identity management
• Uses the Salesforce Connected App Framework
• Handled on-demand
Mobile Design Templates
• Includes HTML5/CSS3 content for List, views, Input, Maps, Calendar, Reports, Dashboards…
• Sample App
Mobile Packs for various mobile frameworks
• Client resources file stored as a Salesforce Zip Static Resource (and Sample)
Mobile UI Elements
• Salesforce Mobile Web components (based on Google Polymer framework)
Offline
• Local secured Database (SmartStore) and Entity framework/SmartSync for data synchronization
21. Mobile development with Mobile SDK
Tasks to create Native and Hybrid apps :
• Create a connected app in Salesforce
• Install the mobile SDK
• as npm package
• From github
• Create a project with forceios or forcedroid
• Open Xcode/Eclipse and run a new Project
• Upload static resources (e.g., classes, REST API) to Salesforce
Benefits
• Custom user experience
• UI branding
• Distribute Apps via standard industry channels (App Store, Google Play)
Mobile SDK Development Guide : https://developer.salesforce.com/docs/atlas.en-us.mobile_sdk.meta/mobile_sdk/
Platform Mobile Services : https://developer.salesforce.com/mobile
22. Mobile development with Salesforce 1
Has a defined user interface.
Has full access to Salesforce data.
Can be used to create an integrated experience in the Salesforce1 app.
Gives you a way to include your own apps/functionality with quick actions.
Lets you customize Salesforce1 with point-and-click or programmatic
customizations.
Lets you add functionality programmatically through Visualforce pages,
Force.com Canvas apps, and the Lightning Component Framework.
Has defined navigation points. Salesforce1 customizations or apps adhere
to the Salesforce1 navigation. So, for example, a Visualforce page can be
called from the navigation menu or from a custom action in the action bar.
Enables you to leverage existing Salesforce development experience, both
point-and-click and programmatic.
Is included in all Salesforce editions and supported by Salesforce.
Salesforce 1 Mobile App Developer’s Guide :
https://developer.salesforce.com/docs/atlas.en-us.salesforce1.meta/salesforce1/
From the feed, record pages, and from elsewhere in Salesforce1, users access actions from the action bar.
The Action Bar and Menu
Depending on which feed or record page users are viewing, they see different actions in the action bar
andactionmenu.Fromthefeed,forexample,theyseeasetofglobalactions.Fromarecordpage,however,
they see a mix of productivity actions, standard and custom buttons, standard Chatter actions such as Post
and File, and global and object-specific actions that are assigned to the layout for that record type. Users
can tap from the action bar to open the action menu, which contains the full set of actions that are
available for the object.
Chapter 1 Introduction
1. Search box
2. Menu items—any items you place above the Smart Search Items element when you custo
the navigation menu
3. SmartSearchItems—includesasetofrecently-searchedobjectsintheRecentsectionanda
set of supported objects under the More link
4. Apps section—contains any items you place below the Smart Search Items element
Fromthenavigationmenu,userscanaccessthefeed,objects,apps,tasks,notes,andanyotheritem
added to the menu. We’ll go over the components of the navigation menu in more detail in Abo
Salesforce1 Navigation Menu on page 26. But for now, let’s take a look at records.
Chapter 1 Introduction
24. Part of Salesforce1: Platform as a Service to build, run and scale customer apps
What is Heroku?
Dynos
Run virtually any
language at scale
Database
Enterprise-Grade
Postgres as a Service
Add-ons
150+ App Plugin
Ecosystem
Payments
Email
SMS
Search
Analytics
Monitoring
Logging
Ruby
Node.js
Java
PHP
Python
Scala
Clojure
24/7/365 Ops
Continuous
Protection
Health Checks
High Availability
Encryption
Rollback
25. When to use Heroku?
When building consumer
or customer-facing apps
(B2B and B2C)
To leverage open source
developer skills and
frameworks
To easily integrate apps
with Salesforce system of
record
28. How to create a Force.com Developer Edition account
Sign in for a DE account :
1- https://developer.salesforce.com/
2- Click on the sign in button on the upper right
corner
3- Fill out the form
29. How to create a free Heroku account ?
Sign in for an account :
1- https://www.heroku.com/
2- Click on the sign in button on the upper right
corner
3- Fill out the form
31. More resources on Force.com and Heroku
Force.com resources:
https://developer.salesforce.com/
https://developer.salesforce.com/trailhead
https://developer.salesforce.com/docs
Free Online Training : https://www.udacity.com/course/ud162
Forum : https://developer.salesforce.com/forums
Forum : http://salesforce.stackexchange.com/
Heroku resources :
https://devcenter.heroku.com/start
https://devcenter.heroku.com/categories/reference
32. What to expect for the next upcoming Webinar on the 9th of April
Mobile App with Salesforce and Visualforce
Mobile App with Mobile SDK
Apex Best Practices
Standard API Access