SlideShare une entreprise Scribd logo
1  sur  13
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

Contenu connexe

Tendances

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" HappyWaveMaker, 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.comJeff Douglas
 
Seamless Authentication with Force.com Canvas
Seamless Authentication with Force.com CanvasSeamless Authentication with Force.com Canvas
Seamless Authentication with Force.com CanvasSalesforce Developers
 
What is Salesforce lighting explained
What is Salesforce lighting explainedWhat is Salesforce lighting explained
What is Salesforce lighting explainedRoy Gilad
 
Lightning Workshop London
Lightning Workshop LondonLightning Workshop London
Lightning Workshop LondonKeir Bowden
 
Introduction to Lightning for Salesforce Admins
Introduction to Lightning for Salesforce AdminsIntroduction to Lightning for Salesforce Admins
Introduction to Lightning for Salesforce AdminsMatthew Morris
 
SD DUG Salesforce Lightning Week
SD DUG Salesforce Lightning WeekSD DUG Salesforce Lightning Week
SD DUG Salesforce Lightning WeekJeff Douglas
 
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 ComponentsSalesforce 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 IBMXamarin
 
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 PartnersSalesforce 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 XamarinXamarin
 
Salesforce Spring 2020 New Developer Features
Salesforce Spring 2020 New Developer FeaturesSalesforce Spring 2020 New Developer Features
Salesforce Spring 2020 New Developer FeaturesLydon Bergin
 
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 HerokuIgor Androsov
 

Tendances (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
 

En vedette

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 ConfigurationMichael 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 FluxSalesforce 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 UpdateYamase 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 Gulpshujiui
 
Views from Europe
Views from EuropeViews from Europe
Views from Europerado_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 introductionDavid Scruggs
 
Salesforce Communities
Salesforce CommunitiesSalesforce Communities
Salesforce CommunitiesSunil kumar
 
Intro to react native
Intro to react nativeIntro to react native
Intro to react nativeModusJesus
 
Mastering the Lightning Framework - Part 2
Mastering the Lightning Framework - Part 2Mastering the Lightning Framework - Part 2
Mastering the Lightning Framework - Part 2Salesforce 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 MobileSalesforce 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 YourselfRelayware, 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 minsKashi Ahmed
 
Intro To React Native
Intro To React NativeIntro To React Native
Intro To React NativeFITC
 

En vedette (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
 

Similaire à 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 AnalysisLawrence 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 PhoneGapJoseph Labrecque
 
Getting started with android programming
Getting started with android programmingGetting started with android programming
Getting started with android programmingPERKYTORIALS
 
Android remote application publishing framework
Android remote application publishing frameworkAndroid remote application publishing framework
Android remote application publishing frameworkSandeep Marathe
 
Application Model for Cloud Deployment
Application Model for Cloud DeploymentApplication Model for Cloud Deployment
Application Model for Cloud DeploymentJim Kaskade
 
Accelerate Enterprise Mobile Application Development
Accelerate Enterprise Mobile Application DevelopmentAccelerate Enterprise Mobile Application Development
Accelerate Enterprise Mobile Application DevelopmentWaveMaker, 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 CordovaNoam 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 developmentMihai Corlan
 
Android For Java Developers
Android For Java DevelopersAndroid For Java Developers
Android For Java DevelopersMike Wolfson
 
Phonegap android angualr material design
Phonegap android angualr material designPhonegap android angualr material design
Phonegap android angualr material designSrinadh 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 developmenteaselsolutions
 

Similaire à 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
 

Dernier

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Dernier (20)

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

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/

Notes de l'éditeur

  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.