SlideShare a Scribd company logo
Quickly Build a Native Mobile App
for Your Community Using
Salesforce Mobile SDK
Michael Welburn
Senior Technical Architect, 7Summits
michael.welburn@7summitsinc.com
@MichaelWelburn
Michael Welburn
Senior Technical Architect, 7Summits
Cannot brand app; Customer
must download Salesforce1 app
Interface is tied to Salesforce1
platform
Requires custom community
URL to be configured for each
user’s device
Not downloadable from app
store
Allows custom branding
One codebase; Takes advantage
of site built with responsive /
mobile in mind
Downloadable from app store
Allows custom branding
Requires additional overhead to
maintain a separate codebase
Salesforce1 Responsive Website Native (Mobile)Application
Ideal for Partner / Customer CommunityIdeal for Employee Community Ideal for Partner / Customer Community
Communities & Mobile Options
Mobile Architecture Options
Salesforce Mobile SDK
Expedite mobile application development by providing authentication, record syncing, etc.
Allows 3 options:
Native – completely custom implementation in native iOS or Android code
Hybrid Local – completely custom implementation in HTML & Javascript
Hybrid Remote – container of your existing responsive Visualforce-based website
Basic Setup Requirements
For iOS:
Mac Computer with Xcode
For Android:
Eclipse or Android Studio
Android SDK Tools
Android Emulator
For guided installation:
Node.js & Node Package Manager (npm)
Mobile SDK Demo
Files to Modify
Salesforce modifications:
Connected app – used during the authentication process
API Enabled – profile or permission set
Community Members – add profile or permission set of users to Community
Mobile application files to modify:
[appname].plist – denotes the community URL you are authenticating against (iOS)
servers.xml – denotes the community URL you are authenticating against (Android)
bootconfig.json – basic configuration of your application starting behavior and connected app
config.xml – configuration of plugins, application security, etc.
Cordova
Cordova plugins will enhance the experience without requiring additional code, and can be searched
at the Cordova Plugin Registry (http://plugins.cordova.io)
Recommended plugins:
StatusBar (http://plugins.cordova.io/#/package/org.apache.cordova.statusbar)
InAppBrowser (http://plugins.cordova.io/#/package/org.apache.cordova.inappbrowser)
Calendar (http://plugins.cordova.io/#/package/nl.x-services.plugins.calendar)
Cordova Plugin Demo
Implementation Summary
Leverage forceios and forcedroid to bootstrap your installation
Choose the hybrid_remote option
Configure the necessary files in the mobile application
Ensure you update the server URL to your community
Install applicable cordova plugins
Update any icons or background images for your application prior to an official deployment
Reference Links
Trailhead: Developer Trail – Mobile SDK:
https://developer.salesforce.com/trailhead/trail/mobile_sdk_intro
Salesforce Mobile SDK Home: https://developer.salesforce.com/page/Mobile_SDK
Salesforce Mobile SDK Development Guide: https://developer.salesforce.com/docs/atlas.en-
us.mobile_sdk.meta/mobile_sdk/
Node Package Manager: https://docs.npmjs.com/getting-started/installing-node
forceios: https://www.npmjs.com/package/forceios
forcedroid: https://www.npmjs.com/package/forcedroid
Cordova Plugin Registry: http://plugins.cordova.io/
Thank you

More Related Content

What's hot

Enterprise App Dev Platform to keep your "Developers, Architects and CIO" Happy
Enterprise App Dev Platform to keep your "Developers, Architects and CIO" HappyEnterprise App Dev Platform to keep your "Developers, Architects and CIO" Happy
Enterprise App Dev Platform to keep your "Developers, Architects and CIO" Happy
WaveMaker, Inc.
 
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.comCreating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.comSalesforce Developers
 
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.comCreating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.comSalesforce Developers
 
Building a Java Play! App on Heroku using Database.com
Building a Java Play! App on Heroku using Database.comBuilding a Java Play! App on Heroku using Database.com
Building a Java Play! App on Heroku using Database.comSalesforce Developers
 
Summer '16 Lightning Update for ISVs (June 30, 2016)
Summer '16 Lightning Update for ISVs (June 30, 2016)Summer '16 Lightning Update for ISVs (June 30, 2016)
Summer '16 Lightning Update for ISVs (June 30, 2016)
Salesforce Partners
 
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.comCreating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Jeff Douglas
 
Seamless Authentication with Force.com Canvas
Seamless Authentication with Force.com CanvasSeamless Authentication with Force.com Canvas
Seamless Authentication with Force.com Canvas
Salesforce Developers
 
What is Salesforce lighting explained
What is Salesforce lighting explainedWhat is Salesforce lighting explained
What is Salesforce lighting explained
Roy Gilad
 
Lightning Workshop London
Lightning Workshop LondonLightning Workshop London
Lightning Workshop London
Keir Bowden
 
Introduction to Lightning for Salesforce Admins
Introduction to Lightning for Salesforce AdminsIntroduction to Lightning for Salesforce Admins
Introduction to Lightning for Salesforce Admins
Matthew Morris
 
SD DUG Salesforce Lightning Week
SD DUG Salesforce Lightning WeekSD DUG Salesforce Lightning Week
SD DUG Salesforce Lightning Week
Jeff Douglas
 
Salesforce1 for Developers
Salesforce1 for DevelopersSalesforce1 for Developers
Salesforce1 for Developers
Salesforce Developers
 
Build Next-gen Apps Faster with Lightning Components
Build Next-gen Apps Faster with Lightning ComponentsBuild Next-gen Apps Faster with Lightning Components
Build Next-gen Apps Faster with Lightning Components
Salesforce Developers
 
Mobile Enterprise Success with Xamarin and IBM
Mobile Enterprise Success with Xamarin and IBMMobile Enterprise Success with Xamarin and IBM
Mobile Enterprise Success with Xamarin and IBM
Xamarin
 
Salesforce1 UX Overview for ISVs and Partners
Salesforce1 UX Overview for ISVs and PartnersSalesforce1 UX Overview for ISVs and Partners
Salesforce1 UX Overview for ISVs and Partners
Salesforce Partners
 
Enterprise Mobile Success with Oracle and Xamarin
Enterprise Mobile Success with Oracle and XamarinEnterprise Mobile Success with Oracle and Xamarin
Enterprise Mobile Success with Oracle and Xamarin
Xamarin
 
Lightning Experience for ISVs
Lightning Experience for ISVsLightning Experience for ISVs
Lightning Experience for ISVs
Salesforce Partners
 
Salesforce Spring 2020 New Developer Features
Salesforce Spring 2020 New Developer FeaturesSalesforce Spring 2020 New Developer Features
Salesforce Spring 2020 New Developer Features
Lydon Bergin
 
Lightning overview
Lightning overviewLightning overview
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on HerokuIgor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov
 

What's hot (20)

Enterprise App Dev Platform to keep your "Developers, Architects and CIO" Happy
Enterprise App Dev Platform to keep your "Developers, Architects and CIO" HappyEnterprise App Dev Platform to keep your "Developers, Architects and CIO" Happy
Enterprise App Dev Platform to keep your "Developers, Architects and CIO" Happy
 
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.comCreating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
 
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.comCreating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
 
Building a Java Play! App on Heroku using Database.com
Building a Java Play! App on Heroku using Database.comBuilding a Java Play! App on Heroku using Database.com
Building a Java Play! App on Heroku using Database.com
 
Summer '16 Lightning Update for ISVs (June 30, 2016)
Summer '16 Lightning Update for ISVs (June 30, 2016)Summer '16 Lightning Update for ISVs (June 30, 2016)
Summer '16 Lightning Update for ISVs (June 30, 2016)
 
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.comCreating HTML5 Applications with jQuery Mobile, Ruby and Database.com
Creating HTML5 Applications with jQuery Mobile, Ruby and Database.com
 
Seamless Authentication with Force.com Canvas
Seamless Authentication with Force.com CanvasSeamless Authentication with Force.com Canvas
Seamless Authentication with Force.com Canvas
 
What is Salesforce lighting explained
What is Salesforce lighting explainedWhat is Salesforce lighting explained
What is Salesforce lighting explained
 
Lightning Workshop London
Lightning Workshop LondonLightning Workshop London
Lightning Workshop London
 
Introduction to Lightning for Salesforce Admins
Introduction to Lightning for Salesforce AdminsIntroduction to Lightning for Salesforce Admins
Introduction to Lightning for Salesforce Admins
 
SD DUG Salesforce Lightning Week
SD DUG Salesforce Lightning WeekSD DUG Salesforce Lightning Week
SD DUG Salesforce Lightning Week
 
Salesforce1 for Developers
Salesforce1 for DevelopersSalesforce1 for Developers
Salesforce1 for Developers
 
Build Next-gen Apps Faster with Lightning Components
Build Next-gen Apps Faster with Lightning ComponentsBuild Next-gen Apps Faster with Lightning Components
Build Next-gen Apps Faster with Lightning Components
 
Mobile Enterprise Success with Xamarin and IBM
Mobile Enterprise Success with Xamarin and IBMMobile Enterprise Success with Xamarin and IBM
Mobile Enterprise Success with Xamarin and IBM
 
Salesforce1 UX Overview for ISVs and Partners
Salesforce1 UX Overview for ISVs and PartnersSalesforce1 UX Overview for ISVs and Partners
Salesforce1 UX Overview for ISVs and Partners
 
Enterprise Mobile Success with Oracle and Xamarin
Enterprise Mobile Success with Oracle and XamarinEnterprise Mobile Success with Oracle and Xamarin
Enterprise Mobile Success with Oracle and Xamarin
 
Lightning Experience for ISVs
Lightning Experience for ISVsLightning Experience for ISVs
Lightning Experience for ISVs
 
Salesforce Spring 2020 New Developer Features
Salesforce Spring 2020 New Developer FeaturesSalesforce Spring 2020 New Developer Features
Salesforce Spring 2020 New Developer Features
 
Lightning overview
Lightning overviewLightning overview
Lightning overview
 
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on HerokuIgor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
Igor Androsov on Mobilizing Salesforce Data with 12 Factor App on Heroku
 

Viewers also liked

Creating a Salesforce Community: Code vs Configuration
Creating a Salesforce Community: Code vs ConfigurationCreating a Salesforce Community: Code vs Configuration
Creating a Salesforce Community: Code vs Configuration
Michael Welburn
 
Building Salesforce1 Communities Apps with React Native and Flux
Building Salesforce1 Communities Apps with React Native and FluxBuilding Salesforce1 Communities Apps with React Native and Flux
Building Salesforce1 Communities Apps with React Native and Flux
Salesforce Developers
 
Salesforce1 for ISVs Webinar (May 15, 2014)
Salesforce1 for ISVs Webinar (May 15, 2014)Salesforce1 for ISVs Webinar (May 15, 2014)
Salesforce1 for ISVs Webinar (May 15, 2014)
Salesforce Partners
 
Salesforce.com Community Cloud Spring'16 Update
Salesforce.com Community Cloud Spring'16 UpdateSalesforce.com Community Cloud Spring'16 Update
Salesforce.com Community Cloud Spring'16 Update
Yamase Hiroaki
 
Brand Your Community Using Less and Gulp
Brand Your Community Using Less and GulpBrand Your Community Using Less and Gulp
Brand Your Community Using Less and Gulp
shujiui
 
Views from Europe
Views from EuropeViews from Europe
Views from Europe
rado_fun
 
Community Cloud - Gemeinsam geht alles Besser - Kundenbindung stärken mit de...
Community Cloud - Gemeinsam geht alles Besser - Kundenbindung stärken mit de...Community Cloud - Gemeinsam geht alles Besser - Kundenbindung stärken mit de...
Community Cloud - Gemeinsam geht alles Besser - Kundenbindung stärken mit de...
Salesforce Deutschland
 
Community Cloud APAC Webinar (September 7, 2016)
Community Cloud APAC Webinar (September 7, 2016)Community Cloud APAC Webinar (September 7, 2016)
Community Cloud APAC Webinar (September 7, 2016)
Salesforce Partners
 
Lightningのコンポーネントフレームワークの概要
Lightningのコンポーネントフレームワークの概要Lightningのコンポーネントフレームワークの概要
Lightningのコンポーネントフレームワークの概要
Salesforce Developers Japan
 
Salesforce Mobile architecture introduction
Salesforce Mobile architecture introductionSalesforce Mobile architecture introduction
Salesforce Mobile architecture introduction
David Scruggs
 
Community cloud運用開発の基礎
Community cloud運用開発の基礎Community cloud運用開発の基礎
Community cloud運用開発の基礎
Salesforce Developers Japan
 
React Native
React NativeReact Native
React Native
Artyom Trityak
 
Salesforce Communities
Salesforce CommunitiesSalesforce Communities
Salesforce Communities
Sunil kumar
 
License Management App
License Management App License Management App
License Management App
Salesforce Partners
 
Intro to react native
Intro to react nativeIntro to react native
Intro to react native
ModusJesus
 
Mastering the Lightning Framework - Part 2
Mastering the Lightning Framework - Part 2Mastering the Lightning Framework - Part 2
Mastering the Lightning Framework - Part 2
Salesforce Developers
 
Build, Manage, and Deploy Mobile Apps Faster with App Cloud Mobile
Build, Manage, and Deploy Mobile Apps Faster with App Cloud MobileBuild, Manage, and Deploy Mobile Apps Faster with App Cloud Mobile
Build, Manage, and Deploy Mobile Apps Faster with App Cloud Mobile
Salesforce Developers
 
Salesforce Communities for Sales: 10 Questions You Should Ask Yourself
Salesforce Communities for Sales: 10 Questions You Should Ask YourselfSalesforce Communities for Sales: 10 Questions You Should Ask Yourself
Salesforce Communities for Sales: 10 Questions You Should Ask Yourself
Relayware, Inc.
 
Build Cloud & Mobile App on Salesforce Force.com Platform in 15 mins
Build Cloud & Mobile App on Salesforce Force.com Platform in 15 minsBuild Cloud & Mobile App on Salesforce Force.com Platform in 15 mins
Build Cloud & Mobile App on Salesforce Force.com Platform in 15 mins
Kashi Ahmed
 
Intro To React Native
Intro To React NativeIntro To React Native
Intro To React Native
FITC
 

Viewers also liked (20)

Creating a Salesforce Community: Code vs Configuration
Creating a Salesforce Community: Code vs ConfigurationCreating a Salesforce Community: Code vs Configuration
Creating a Salesforce Community: Code vs Configuration
 
Building Salesforce1 Communities Apps with React Native and Flux
Building Salesforce1 Communities Apps with React Native and FluxBuilding Salesforce1 Communities Apps with React Native and Flux
Building Salesforce1 Communities Apps with React Native and Flux
 
Salesforce1 for ISVs Webinar (May 15, 2014)
Salesforce1 for ISVs Webinar (May 15, 2014)Salesforce1 for ISVs Webinar (May 15, 2014)
Salesforce1 for ISVs Webinar (May 15, 2014)
 
Salesforce.com Community Cloud Spring'16 Update
Salesforce.com Community Cloud Spring'16 UpdateSalesforce.com Community Cloud Spring'16 Update
Salesforce.com Community Cloud Spring'16 Update
 
Brand Your Community Using Less and Gulp
Brand Your Community Using Less and GulpBrand Your Community Using Less and Gulp
Brand Your Community Using Less and Gulp
 
Views from Europe
Views from EuropeViews from Europe
Views from Europe
 
Community Cloud - Gemeinsam geht alles Besser - Kundenbindung stärken mit de...
Community Cloud - Gemeinsam geht alles Besser - Kundenbindung stärken mit de...Community Cloud - Gemeinsam geht alles Besser - Kundenbindung stärken mit de...
Community Cloud - Gemeinsam geht alles Besser - Kundenbindung stärken mit de...
 
Community Cloud APAC Webinar (September 7, 2016)
Community Cloud APAC Webinar (September 7, 2016)Community Cloud APAC Webinar (September 7, 2016)
Community Cloud APAC Webinar (September 7, 2016)
 
Lightningのコンポーネントフレームワークの概要
Lightningのコンポーネントフレームワークの概要Lightningのコンポーネントフレームワークの概要
Lightningのコンポーネントフレームワークの概要
 
Salesforce Mobile architecture introduction
Salesforce Mobile architecture introductionSalesforce Mobile architecture introduction
Salesforce Mobile architecture introduction
 
Community cloud運用開発の基礎
Community cloud運用開発の基礎Community cloud運用開発の基礎
Community cloud運用開発の基礎
 
React Native
React NativeReact Native
React Native
 
Salesforce Communities
Salesforce CommunitiesSalesforce Communities
Salesforce Communities
 
License Management App
License Management App License Management App
License Management App
 
Intro to react native
Intro to react nativeIntro to react native
Intro to react native
 
Mastering the Lightning Framework - Part 2
Mastering the Lightning Framework - Part 2Mastering the Lightning Framework - Part 2
Mastering the Lightning Framework - Part 2
 
Build, Manage, and Deploy Mobile Apps Faster with App Cloud Mobile
Build, Manage, and Deploy Mobile Apps Faster with App Cloud MobileBuild, Manage, and Deploy Mobile Apps Faster with App Cloud Mobile
Build, Manage, and Deploy Mobile Apps Faster with App Cloud Mobile
 
Salesforce Communities for Sales: 10 Questions You Should Ask Yourself
Salesforce Communities for Sales: 10 Questions You Should Ask YourselfSalesforce Communities for Sales: 10 Questions You Should Ask Yourself
Salesforce Communities for Sales: 10 Questions You Should Ask Yourself
 
Build Cloud & Mobile App on Salesforce Force.com Platform in 15 mins
Build Cloud & Mobile App on Salesforce Force.com Platform in 15 minsBuild Cloud & Mobile App on Salesforce Force.com Platform in 15 mins
Build Cloud & Mobile App on Salesforce Force.com Platform in 15 mins
 
Intro To React Native
Intro To React NativeIntro To React Native
Intro To React Native
 

Similar to Quickly Build a Native Mobile App for your Community using Salesforce Mobile SDK

Enterprise Hybrid Feasibility Analysis
Enterprise Hybrid Feasibility AnalysisEnterprise Hybrid Feasibility Analysis
Enterprise Hybrid Feasibility Analysis
Lawrence Nyakiso
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
RIA RUI Society
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGap
Joseph Labrecque
 
Appium solution artizone
Appium solution   artizoneAppium solution   artizone
Appium solution artizone
Nael Abd Eljawad
 
Getting started with android programming
Getting started with android programmingGetting started with android programming
Getting started with android programming
PERKYTORIALS
 
Android remote application publishing framework
Android remote application publishing frameworkAndroid remote application publishing framework
Android remote application publishing framework
Sandeep Marathe
 
Mobile DevTest Dictionary
Mobile DevTest DictionaryMobile DevTest Dictionary
Mobile DevTest Dictionary
Perfecto by Perforce
 
Hybrid mobile app
Hybrid mobile appHybrid mobile app
Hybrid mobile app
Palani Kumar
 
Application Model for Cloud Deployment
Application Model for Cloud DeploymentApplication Model for Cloud Deployment
Application Model for Cloud Deployment
Jim Kaskade
 
Accelerate Enterprise Mobile Application Development
Accelerate Enterprise Mobile Application DevelopmentAccelerate Enterprise Mobile Application Development
Accelerate Enterprise Mobile Application Development
WaveMaker, Inc.
 
Building Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaBuilding Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using Cordova
Noam Kfir
 
Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First
Sanjeev Kumar
 
Flash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile developmentFlash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile development
Mihai Corlan
 
Mobile Apps Develpment - A Comparison
Mobile Apps Develpment - A ComparisonMobile Apps Develpment - A Comparison
Mobile Apps Develpment - A Comparison
Lataant Software Technologies
 
Android For Java Developers
Android For Java DevelopersAndroid For Java Developers
Android For Java Developers
Mike Wolfson
 
Phonegap android angualr material design
Phonegap android angualr material designPhonegap android angualr material design
Phonegap android angualr material design
Srinadh Kanugala
 
Hybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupHybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupSanjay Patel
 
Flex multi-screen development
Flex multi-screen developmentFlex multi-screen development
Flex multi-screen development
easelsolutions
 
How to Build a Hybrid App: A Detailed Outline
How to Build a Hybrid App: A Detailed Outline How to Build a Hybrid App: A Detailed Outline
How to Build a Hybrid App: A Detailed Outline
WebGuru Infosystems Pvt. Ltd.
 

Similar to Quickly Build a Native Mobile App for your Community using Salesforce Mobile SDK (20)

Enterprise Hybrid Feasibility Analysis
Enterprise Hybrid Feasibility AnalysisEnterprise Hybrid Feasibility Analysis
Enterprise Hybrid Feasibility Analysis
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGap
 
Appium solution artizone
Appium solution   artizoneAppium solution   artizone
Appium solution artizone
 
Getting started with android programming
Getting started with android programmingGetting started with android programming
Getting started with android programming
 
Android remote application publishing framework
Android remote application publishing frameworkAndroid remote application publishing framework
Android remote application publishing framework
 
Mobile DevTest Dictionary
Mobile DevTest DictionaryMobile DevTest Dictionary
Mobile DevTest Dictionary
 
Hybrid Mobile App
Hybrid Mobile AppHybrid Mobile App
Hybrid Mobile App
 
Hybrid mobile app
Hybrid mobile appHybrid mobile app
Hybrid mobile app
 
Application Model for Cloud Deployment
Application Model for Cloud DeploymentApplication Model for Cloud Deployment
Application Model for Cloud Deployment
 
Accelerate Enterprise Mobile Application Development
Accelerate Enterprise Mobile Application DevelopmentAccelerate Enterprise Mobile Application Development
Accelerate Enterprise Mobile Application Development
 
Building Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaBuilding Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using Cordova
 
Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First
 
Flash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile developmentFlash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile development
 
Mobile Apps Develpment - A Comparison
Mobile Apps Develpment - A ComparisonMobile Apps Develpment - A Comparison
Mobile Apps Develpment - A Comparison
 
Android For Java Developers
Android For Java DevelopersAndroid For Java Developers
Android For Java Developers
 
Phonegap android angualr material design
Phonegap android angualr material designPhonegap android angualr material design
Phonegap android angualr material design
 
Hybrid Mobile Apps - Meetup
Hybrid Mobile Apps - MeetupHybrid Mobile Apps - Meetup
Hybrid Mobile Apps - Meetup
 
Flex multi-screen development
Flex multi-screen developmentFlex multi-screen development
Flex multi-screen development
 
How to Build a Hybrid App: A Detailed Outline
How to Build a Hybrid App: A Detailed Outline How to Build a Hybrid App: A Detailed Outline
How to Build a Hybrid App: A Detailed Outline
 

Recently uploaded

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 

Recently uploaded (20)

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 

Quickly Build a Native Mobile App for your Community using Salesforce Mobile SDK

  • 1. Quickly Build a Native Mobile App for Your Community Using Salesforce Mobile SDK Michael Welburn Senior Technical Architect, 7Summits michael.welburn@7summitsinc.com @MichaelWelburn
  • 2. Michael Welburn Senior Technical Architect, 7Summits
  • 3. Cannot brand app; Customer must download Salesforce1 app Interface is tied to Salesforce1 platform Requires custom community URL to be configured for each user’s device Not downloadable from app store Allows custom branding One codebase; Takes advantage of site built with responsive / mobile in mind Downloadable from app store Allows custom branding Requires additional overhead to maintain a separate codebase Salesforce1 Responsive Website Native (Mobile)Application Ideal for Partner / Customer CommunityIdeal for Employee Community Ideal for Partner / Customer Community Communities & Mobile Options
  • 5. Salesforce Mobile SDK Expedite mobile application development by providing authentication, record syncing, etc. Allows 3 options: Native – completely custom implementation in native iOS or Android code Hybrid Local – completely custom implementation in HTML & Javascript Hybrid Remote – container of your existing responsive Visualforce-based website
  • 6. Basic Setup Requirements For iOS: Mac Computer with Xcode For Android: Eclipse or Android Studio Android SDK Tools Android Emulator For guided installation: Node.js & Node Package Manager (npm)
  • 8. Files to Modify Salesforce modifications: Connected app – used during the authentication process API Enabled – profile or permission set Community Members – add profile or permission set of users to Community Mobile application files to modify: [appname].plist – denotes the community URL you are authenticating against (iOS) servers.xml – denotes the community URL you are authenticating against (Android) bootconfig.json – basic configuration of your application starting behavior and connected app config.xml – configuration of plugins, application security, etc.
  • 9. Cordova Cordova plugins will enhance the experience without requiring additional code, and can be searched at the Cordova Plugin Registry (http://plugins.cordova.io) Recommended plugins: StatusBar (http://plugins.cordova.io/#/package/org.apache.cordova.statusbar) InAppBrowser (http://plugins.cordova.io/#/package/org.apache.cordova.inappbrowser) Calendar (http://plugins.cordova.io/#/package/nl.x-services.plugins.calendar)
  • 11. Implementation Summary Leverage forceios and forcedroid to bootstrap your installation Choose the hybrid_remote option Configure the necessary files in the mobile application Ensure you update the server URL to your community Install applicable cordova plugins Update any icons or background images for your application prior to an official deployment
  • 12. Reference Links Trailhead: Developer Trail – Mobile SDK: https://developer.salesforce.com/trailhead/trail/mobile_sdk_intro Salesforce Mobile SDK Home: https://developer.salesforce.com/page/Mobile_SDK Salesforce Mobile SDK Development Guide: https://developer.salesforce.com/docs/atlas.en- us.mobile_sdk.meta/mobile_sdk/ Node Package Manager: https://docs.npmjs.com/getting-started/installing-node forceios: https://www.npmjs.com/package/forceios forcedroid: https://www.npmjs.com/package/forcedroid Cordova Plugin Registry: http://plugins.cordova.io/

Editor's Notes

  1. There are a couple different ways to build communities, but for the purposes of this overview we’ll be referencing Visualforce based communities. There are 3 primary ways to present a mobile friendly experience to communities users: - Salesforce1 app - Response Visualforce-based website - Native mobile application Each has their own pitfalls: - Salesforce1 is tied to the Salesforce branding; Salesforce1 must be downloaded, community url manually set up - Good for employee community - Response website doesn’t allow you an app to download, but you can have custom branding and only maintain a single code base - Native applications allow you to download an app, but you have to maintain two codebases; one for website, one for app - Good for customer or partner communities due to branding Ideally you could marry the pros of responsive website with native mobile application without the cons…
  2. Salesforce Mobile SDK helps jump start mobile development 3 types: - native mobile application - writing native code for everything - uses API calls - hybrid local mobile application (develop app in html/js/css inside the app – files are downloaded locally onto your phone rather than being hosted on salesforce’s server) - Pure JavaScript Development using API calls - Easy for Offline - Fewer Server-side calls for assets - hybrid remote (points to the responsive Visualforce page from the native app, the shell is provided by an open source project called cordova. Cordova is a way to bridge the gap between the native features of your device with functionality written in expose html/javascript rather than native code) - Easy access to Visualforce - Possible to avoid API calls - Difficult for Offline – Requires HTML5 Manifest Hybrid remote solves the distribution issue, the branding issue, and the single code base. And there isn’t even any code involved…
  3. The setup is very similar for iOS or Android. We’ll walk through iOS today, but each step has a corresponding Android step. iOS is a little easier to set up because Xcode handles everything; Android requires some independent environment setup for SDK and emulator Node package manager (npm) is leveraged for the command line interfaces, and can be downloaded along with the node.js installer Salesforce provides a tool called forceios which is a node-based wizard that bootstraps the creation of a complete xcode or android project for you based on cordova
  4. First we need to do some housekeeping on the Salesforce side, in particular creating a connected app Connected app is a way to register your application with salesforce, since the mobile app needs to authenticate remotely from outside of salesforce https://developer.salesforce.com/docs/atlas.en-us.mobile_sdk.meta/mobile_sdk/communities_mobilesdk.htm - Connected App - API Enabled - Profile/Permission Sets are Community Members Create a connected app in your org (show a developer org) - http://releasenotes.docs.salesforce.com/en-us/summer14/release-notes/rn_mobile_packaging_connected_apps_ga.htm ====================== Setup > Create > Apps New "Connected App" - DF15 Demo Check "Enable OAuth Settings" - callback URL: testsfdc:///mobilesdk/detect/oauth/done - Scope: api, refresh_token, web Mobile App Settings - Can define the start url in the application configuration - Ability to PIN protect (require a pin unlock) within the app - Choose App Platfrom (choose iOS for example) - Setting the App Version to an arbitrary number (i.e. 1.0) - Minimum OS Version, likely 1 version back from current (7.0 for iOS) - App Binary URL: sfdc (used for private apps) Need to install npm (which comes with the nodejs installer from nodejs.org) For a fresh install (https://www.npmjs.com/package/forceios) =================== > npm install -g forceios OR npm install -g forcedroid Since I have it installed, want to make sure I have latest ============================ > npm update forceios > forceios create Enter your application type (native, hybrid_remote, or hybrid_local): > hybrid_remote Enter your application name: > DF15Demo Enter the output directory for your app (defaults to the current directory): > Enter the package name for your app (com.mycompany.my_app): > com.salesforce.df15demo Enter your organization name (Acme, Inc.): > Salesforce Enter the start page for your app (only applicable for hybrid_remote apps): > / Enter your Connected App ID (defaults to the sample app's ID): > Enter your Connected App Callback URI (defaults to the sample app's URI): > testsfdc:///mobilesdk/detect/oauth/done Once complete, you'll set a set of "next steps" on how to build and run the application. If you don't want to use Xcode, you'll need to download ios-deploy > npm install -g ios-deploy OR npm update ios-deploy > cd DF15Demo > cordova build > cordova run Xcode: - File > Open - Choose the .xcodeproj to open under platforms/ios By default, the chosen URL is login.salesforce.com. For a community, we'll need to replace that with the specific URL to the community. - For iOS, this is [appname].plist > vi platforms/ios/DF15Demo/DF15Demo-Info.plist OR /Resources/DF15Demo-Info.plist Add SFDCOAuthLoginHost as a key, with the community URL as the value. Can use sandbox and production separately - df15demo-developer-edition.na34.force.com - For Android, this is servers.xml Need to ensure the Consumer Key, Callback URI, and OAuth scopes are up to date in www/bootconfig.json Now that basic functionality is complete, there are some important cordova plugins to make your app work seamlessly. - StatusBar allows your iOS app to have the status bar at the top with the clock - InAppBrowser lets you display links in a popover (so you don't redirect off of your community without a way to get back) - Calendar allows you to create calendar events on your phone > cordova plugin add org.apache.cordova.statusbar Navigate to config.xml to configure additional values (reference documentation)
  5. To capture the changes that we made: - Created a connected app - modified the reference to the community url in configuration - updated the reference to the start url, client secret, and oauth scopes - reviewed any configuration changes for cordova plugins https://developer.salesforce.com/docs/atlas.en-us.mobile_sdk.meta/mobile_sdk/communities_mobilesdk.htm
  6. Cordova plugins are useful ways to build out functionality for your app. The plugin ecosystem is very rich, and many plugins grant access to native parts of the phone including access to geolocation, accelerometer, photos, etc, A few of them may be table stakes for a user: - Don’t want a user to navigate off of your site if you don’t present a back button (inappbrowser) - May want the iOS status bar to show up Others may be enhanced features - ability to add a calendar event to your phone Note that some cordova plugins are built to interact with the APIs available on the phone, but require some javascript to be written on your responsive website to fully enable the functionality. No phone specific code though.