Upload
bemyapp
View
91
Download
0
Embed Size (px)
Citation preview
Credit Agricole Hackathon March-May 2015 Webinar #1
25th of April 2015
Peter Chittum, Developer Evangelist
Raouf Aimeur, Principal Solution Engineer
Agenda Salesforce 1 Platform overview Building Mobile apps with Force.com Demo Building apps with Heroku Heroku Demo
All The Services You Need to Build Next Gen Apps
Chatter Multi-
language
Translation Workbench
Email Services Analytics
Cloud Database
Schema Builder Search
Visualforce1
Monitoring Multi-tenant Infrastructure
Apex
Data-level Security
Workflows
Social APIs
Analytics APIs
Bulk APIs Rest 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
What Makes Force.com Unique? The Benefits of Our Multi-Tenant Architecture
Seamless Upgrades Economies of Scale
High Availability
Continuous Innovation
Instant Capacity
More Secure Over Time
Developer Productivity
Faster, More Scalable Over Time
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/
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 • …
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
User Interface Standard Drag-Drop UI Custom Visualforce
Visualforce Developer’s Guide : https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/ Visualforce Workbook : https://developer.salesforce.com/docs/atlas.en-us.workbook_vf.meta/workbook_vf/
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/
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
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
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
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
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
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
Business Requirements dictates Approach
Single Platform Multiple Platforms
Native Advanced UI interactions
Fastest performance App Store distribution
Hybrid Web developer skills Access to native platform App Store distribution
Full Capability
Partial Capability
HTML5 Web developer skills Instant updates Unrestricted distribution
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
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
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 MenuDepending on which feed or record page users are viewing, they see different actions in the action barand action menu. From the feed, for example, they see a set of global actions. From a record page, however,they see a mix of productivity actions, standard and custom buttons, standard Chatter actions such as Postand 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 areavailable for the object.
6
Chapter 1 Introduction
1. Search box
2. Menu items—any items you place above the Smart Search Items element when you customizethe navigation menu
3. Smart Search Items—includes a set of recently-searched objects in the Recent section and a largerset of supported objects under the More link
4. Apps section—contains any items you place below the Smart Search Items element
From the navigation menu, users can access the feed, objects, apps, tasks, notes, and any other item you’veadded to the menu. We’ll go over the components of the navigation menu in more detail in About theSalesforce1 Navigation Menu on page 26. But for now, let’s take a look at records.
The Record ViewThe record view is made up of the record feed, detail, and related information pages, which your userscan swipe left and right to see. If your organization doesn’t have Chatter enabled, the record view onlyincludes the detail and related information pages.
8
Chapter 1 Introduction
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
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
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
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
Learning path for Force.com 1- Force.com fundamentals https://developer.salesforce.com/docs/atlas.en-us.fundamentals.meta/fundamentals/ 2- Force.com Workbook : https://developer.salesforce.com/docs/atlas.en-us.workbook.meta/workbook/ 3- Mobile SDK developer guide https://developer.salesforce.com/docs/atlas.en-us.mobile_sdk.meta/mobile_sdk/ 4- Salesforce 1 Developer guide Forum : https://developer.salesforce.com/docs/atlas.en-us.salesforce1.meta/salesforce1/
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
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