SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Understanding Native, Hybrid and
Web Mobile Architectures
​ Marcus Torres
​ Sr. Director, Mobile Product Management
​ marcus.torres@salesforce.com
​ @mtorres_tweet
​ 
How to choose in a complicated mobile landscape
​ Wolfgang Mathurin
​ Architect on Mobile SDK
​ wmathurin@salesforce.com
HTML5
Responsive designed webpage to display well
on different mobile form factors
Hybrid
Native shell wrapped around a webpage with
access to native features
Native
Pure native code. No plugins. Pure
performance
What are the different mobile architectures?
Native Apps
Native
​ Two Major Platforms
Native
​ Design Patterns that work!
​ Material Design ​ iOS Design Guidelines
Native
​ Building blocks for amazing UIs
Evolution of Native Apps
​ Evernote
Development for Native Apps
​ Development
IDE
​ Distribution​ Data Storage ​ Testing
Xcode
Android Studio,
Eclipse ADT
CoreData, SQLite
SQLite
Xcode Apple App Store
Google Play
Automation
is very difficult
Simulator = Device
Discoverability
Rev share with Apple
Apple Approval Process
Secure Data!
Pros/Cons
Full Device Access!
Richest UI Experience
BEST app performance
Android Studio,
Eclipse ADT
HTML5 Apps
What is HTML5
Forms
WebSockets
Manifests
IndexedDB
Web Workers
Geo
Audio / Video
Canvas
Transforms
Animations
Transitions
Layout
Perspective
Rotate
Translate
Background
CSS3 Properties For Designers
​  Multiple Form Factors
​  @media	
  phone	
  (max-­‐width:	
  500px)	
  	
  
​  @media	
  tablet	
  (max-­‐width:	
  2000px)	
  
​  <link	
  rel="stylesheet"	
  media="phone"	
  	
  href="phone.css"	
  >	
  
​  <link	
  rel="stylesheet"	
  media="tablet"	
  href="tablet.css">	
  	
  
​  Orientation
​  @media	
  tablet	
  and	
  (orientation:landscape)	
  
​  @media	
  tablet	
  and	
  (orientation:portrait)	
  
#stretch	
  {	
  
border-­‐image:	
  url(bubble.png)	
  	
  	
  	
  
	
  	
  	
  	
  25	
  46	
  29	
  31	
  fill	
  
stretch;	
  }	
  
	
  
Styling
The Diverse Selection of HTML5 Frameworks
Development for HTML5 Apps
​ Development
IDE
​ Distribution​ Data Storage ​ Testing
Any Editor
Any Browser
WebStorage
(key value pairs)
IndexedDB for
structured data
Debug directly on
device
Full Automation
through Selenium
Completely
Unrestricted
Any web host
Instant updates
Pros/Cons
Non
Secure Storage!
Full End to End
Automation
Guarantee Trust
Keep 100%
of revenue $$$
Cannot be listed in
app stores
Limited “device”
access
Hybrid Apps
Thin
or
THICK
Anatomy Of A Hybrid App
Mobile OS APIs
CONTAINER APP
BROWSER
UI HTML & CSS
LOGIC JavaScript
MODEL WebDB
HTML5 APIs
UIs for Thin Containers
so thin, can t even see it
WebView	
  in full screen mode
•  Developer responsible for all navigation
•  Slightly slower JavaScript execution on iOS
•  Fully supported in Android 4.4+
•  Option to locally store HTML, JavaScript, and images
•  Authentication and Offline Storage
UIs for THICK Containers
•  Native app provides the UI
•  WebView is a partial component
•  Built like a native app
•  HTML5 plays a much smaller role
•  For complex, re-usable components
WebView	
  
Container: HTML5 to Native OS Bridge
•  Camera
•  Calendar
•  Contacts
•  Connectivity
•  Motion
•  App Data
•  Microphone
•  Custom APIs
navigator.camera.getPicture(onSuccess,	
  onFail,	
  
{	
  quality:	
  50	
  });	
  	
  
	
  
function	
  onSuccess(imageData)	
  {	
  
	
  	
  	
  	
  var	
  image	
  =	
  
document.getElementById('myImage');	
  
	
  	
  	
  	
  image.src	
  =	
  "data:image/jpeg;base64,"	
  +	
  
imageData;	
  
}	
  
JavaScript
Development for Hybrid Apps
​ Development
IDE
​ Distribution​ Data Storage ​ Testing
Any Editor
Any Browser
WebStorage
IndexedDB for
structured data
Secure Storage:
SmartStore, Native
Debug in browser &
directly on device
Automation
segmented between
web and native
Pros/Cons
Secure Storage
Browser and native
development tools
Xcode,
Android
Studio
+
Most Device
Feature Access
One app for all platforms
Apple App Store
Google Play
Discoverability
Changes for remote
hybrid apps can be
done anytime
Three Options: Which One Is Right For You?
Web developer skills
Access to native platform/features
Non-native performance
App store distribution
Widely known development skills
Partial instant updates
Richest User Experience
Fastest performance
App store distribution
App / Platform
Specialized development skills
Web developer skills
Instant updates
Unrestricted distribution
Limited device capabilities
What’s the right choice?
•  Best User Experience
•  Performance, Performance,
Performance
•  Access to all device features
•  Duplicate costs for each
platform
•  Leverage existing developer
skills (web)
•  Access to most device
features
•  Real-time updates
•  Poorer performance
•  Complicated architecture
Salesforce Mobile SDK
​ How the Salesforce Mobile Platform can help
•  Modern Unified Architecture on ALL Platforms
•  Designed for Super Responsive Apps
•  Sync for Online & Offline Functionality
•  Push Notification Services
•  Comprehensive Mobile SDK Developer Guide
•  Certificate based Authentication Support
•  Support Latest Technologies: iOS9, Android M, Cordova
4.0
The 4th Generation Mobile Platform with the Mobile SDK
SmartStore encrypted database
SmartSync data management
Enterprise identity & security
Native Hybrid
Any Web FrameworkOS UI Frameworks
push notifications container wrappers files mdm policies
Your
App
Unified Cross Platform Architecture
Salesforce Mobile Backend-as-a-Service
custombackend back-office partners
Salesforce1 Mobile Platform
•  REST endpoints optimized for mobile apps
•  Identity services
•  Security & policy enforcement
•  Push notifications
•  Enterprise scale & reliability
•  Customizable business process layer
•  Integrate easily with any backend system
•  Cloud database
•  Social everywhere
•  Easy dashboards & reports
•  Mobile SDK
Best of both worlds? (maybe)
•  Leverage web developer skills to write you app in
Javascript using react UI components and styles
•  UI elements are rendered natively
•  Native performance
•  Real-time updates
•  No need to restart/recompile when changing the
JavaScript code
•  Powerful debugging using Chrome or Safari
debugging tools
Native
Salesforce Mobile SDK + React Native Demo
+
Useful Mobile Resources
Salesforce Mobile SDK Home Page
https://developer.salesforce.com/page/Mobile_SDK
Sample App Source Code
https://github.com/forcedotcom/Smartsyncexplorerreactnative/tree/unstable
Designs
Material Design from Google
iOS Human Interface Guidelines
Windows Modern Design Guidelines
Share Your Feedback, and Win a GoPro!
3
Earn a GoPro prize entry for
each completed survey
Tap the bell to take a
survey2Enroll in a session1

Más contenido relacionado

La actualidad más candente

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
Salesforce 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.com
Salesforce 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.com
Jeff Douglas
 
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStoreDeveloping Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Salesforce Developers
 
Salesforce.com Mobile Dev Week Chicago DUG
Salesforce.com Mobile Dev Week Chicago DUGSalesforce.com Mobile Dev Week Chicago DUG
Salesforce.com Mobile Dev Week Chicago DUG
Tom Gersic
 

La actualidad más candente (20)

Forcelandia 2015
Forcelandia 2015Forcelandia 2015
Forcelandia 2015
 
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
 
Going Offline with Salesforce1 Mobile SDK
Going Offline with Salesforce1 Mobile SDKGoing Offline with Salesforce1 Mobile SDK
Going Offline with Salesforce1 Mobile SDK
 
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
 
Trailhead Live Developer Workshop - Salesforce App Cloud
Trailhead Live Developer Workshop - Salesforce App CloudTrailhead Live Developer Workshop - Salesforce App Cloud
Trailhead Live Developer Workshop - Salesforce App Cloud
 
Developing Offline Mobile Apps with the Salesforce.com Mobile SDK SmartStore,...
Developing Offline Mobile Apps with the Salesforce.com Mobile SDK SmartStore,...Developing Offline Mobile Apps with the Salesforce.com Mobile SDK SmartStore,...
Developing Offline Mobile Apps with the Salesforce.com Mobile SDK SmartStore,...
 
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStoreDeveloping Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
 
Take your app offline via SMS
Take your app offline via SMSTake your app offline via SMS
Take your app offline via SMS
 
Unite Customer-Facing Apps with a Salesforce Backend: Heroku Connect in Practice
Unite Customer-Facing Apps with a Salesforce Backend: Heroku Connect in PracticeUnite Customer-Facing Apps with a Salesforce Backend: Heroku Connect in Practice
Unite Customer-Facing Apps with a Salesforce Backend: Heroku Connect in Practice
 
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
 
Introducing Salesforce Identity
Introducing Salesforce IdentityIntroducing Salesforce Identity
Introducing Salesforce Identity
 
Heroku Connect: The New Way to Build Connected Customer Applications
Heroku Connect: The New Way to Build Connected Customer ApplicationsHeroku Connect: The New Way to Build Connected Customer Applications
Heroku Connect: The New Way to Build Connected Customer Applications
 
Low-code Platform: Tìm hiểu về nền tảng ít lập trình
Low-code Platform: Tìm hiểu về nền tảng ít lập trìnhLow-code Platform: Tìm hiểu về nền tảng ít lập trình
Low-code Platform: Tìm hiểu về nền tảng ít lập trình
 
Salesforce.com Mobile Dev Week Chicago DUG
Salesforce.com Mobile Dev Week Chicago DUGSalesforce.com Mobile Dev Week Chicago DUG
Salesforce.com Mobile Dev Week Chicago DUG
 
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
 
Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)
 
Accelerate Enterprise Mobile Application Development
Accelerate Enterprise Mobile Application DevelopmentAccelerate Enterprise Mobile Application Development
Accelerate Enterprise Mobile Application Development
 
Introduction to Heroku - CCT London 2013
Introduction to Heroku - CCT London 2013Introduction to Heroku - CCT London 2013
Introduction to Heroku - CCT London 2013
 
Simplify enterprise IT with no code platform - aPaaS
Simplify enterprise IT with no code platform - aPaaSSimplify enterprise IT with no code platform - aPaaS
Simplify enterprise IT with no code platform - aPaaS
 

Destacado

Functional Requirements of mobile application
Functional Requirements of mobile application Functional Requirements of mobile application
Functional Requirements of mobile application
Semiu Ayobami Akanmu
 

Destacado (15)

Pieter De Baets - An introduction to React Native
Pieter De Baets - An introduction to React NativePieter De Baets - An introduction to React Native
Pieter De Baets - An introduction to React Native
 
AngularJS + React
AngularJS + ReactAngularJS + React
AngularJS + React
 
Combining Angular and React Together
Combining Angular and React TogetherCombining Angular and React Together
Combining Angular and React Together
 
Kế hoạch thi HK2 2015-2016
Kế hoạch thi HK2 2015-2016Kế hoạch thi HK2 2015-2016
Kế hoạch thi HK2 2015-2016
 
Hybrid mobile apps
Hybrid mobile appsHybrid mobile apps
Hybrid mobile apps
 
Cross mobile testautomation mit Xamarin & SpecFlow
Cross mobile testautomation mit Xamarin & SpecFlowCross mobile testautomation mit Xamarin & SpecFlow
Cross mobile testautomation mit Xamarin & SpecFlow
 
Back to the future: Isomorphic javascript applications
Back to the future:  Isomorphic javascript applicationsBack to the future:  Isomorphic javascript applications
Back to the future: Isomorphic javascript applications
 
Using ReactJS in AngularJS
Using ReactJS in AngularJSUsing ReactJS in AngularJS
Using ReactJS in AngularJS
 
Getting Started with Angular JS
Getting Started with Angular JSGetting Started with Angular JS
Getting Started with Angular JS
 
AngularJS performance & production tips
AngularJS performance & production tipsAngularJS performance & production tips
AngularJS performance & production tips
 
Functional Requirements of mobile application
Functional Requirements of mobile application Functional Requirements of mobile application
Functional Requirements of mobile application
 
Understanding angular js
Understanding angular jsUnderstanding angular js
Understanding angular js
 
React + Redux Introduction
React + Redux IntroductionReact + Redux Introduction
React + Redux Introduction
 
React JS and why it's awesome
React JS and why it's awesomeReact JS and why it's awesome
React JS and why it's awesome
 
Lokijs
LokijsLokijs
Lokijs
 

Similar a Understanding Native, Hybrid, and Web Mobile Architectures

Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
Maulik Bamania
 
Synapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile applicationSynapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile application
saritasingh19866
 

Similar a Understanding Native, Hybrid, and Web Mobile Architectures (20)

IBM MobileFirst - Hybrid Application Development with Worklight
IBM MobileFirst - Hybrid Application Development with WorklightIBM MobileFirst - Hybrid Application Development with Worklight
IBM MobileFirst - Hybrid Application Development with Worklight
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar Patnaik
 
Powering your Apps with Cloud Services
Powering your Apps with Cloud ServicesPowering your Apps with Cloud Services
Powering your Apps with Cloud Services
 
Build Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic FrameworkBuild Consumer Apps Using Mobile SDK and Ionic Framework
Build Consumer Apps Using Mobile SDK and Ionic Framework
 
Hybrid mobile application with Ionic
Hybrid mobile application with IonicHybrid mobile application with Ionic
Hybrid mobile application with Ionic
 
Azure mobile services
Azure mobile servicesAzure mobile services
Azure mobile services
 
Development Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElementsDevelopment Workshop on ET1, Android and Motorola RhoElements
Development Workshop on ET1, Android and Motorola RhoElements
 
Synapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile applicationSynapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile application
 
Hybrid mobile app development
Hybrid mobile app developmentHybrid mobile app development
Hybrid mobile app development
 
Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]
 
Mobile for the rest of us
Mobile for the rest of usMobile for the rest of us
Mobile for the rest of us
 
Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0
 
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator TitaniumMobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
 
IBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentIBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App Development
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
The Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App DevelopmentThe Great Mobile Debate: Native vs. Hybrid App Development
The Great Mobile Debate: Native vs. Hybrid App Development
 
Cross platform mobile application devlopment
Cross platform mobile application devlopmentCross platform mobile application devlopment
Cross platform mobile application devlopment
 
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
 
Oracle and Mobile, From Design to Device; The tools that make it happen - Use...
Oracle and Mobile, From Design to Device; The tools that make it happen - Use...Oracle and Mobile, From Design to Device; The tools that make it happen - Use...
Oracle and Mobile, From Design to Device; The tools that make it happen - Use...
 
Native Touches to your Hybrid Mobile Apps
Native Touches to your Hybrid Mobile AppsNative Touches to your Hybrid Mobile Apps
Native Touches to your Hybrid Mobile Apps
 

Más de Salesforce Developers

Más de Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Understanding Native, Hybrid, and Web Mobile Architectures

  • 1. Understanding Native, Hybrid and Web Mobile Architectures ​ Marcus Torres ​ Sr. Director, Mobile Product Management ​ marcus.torres@salesforce.com ​ @mtorres_tweet ​  How to choose in a complicated mobile landscape ​ Wolfgang Mathurin ​ Architect on Mobile SDK ​ wmathurin@salesforce.com
  • 2. HTML5 Responsive designed webpage to display well on different mobile form factors Hybrid Native shell wrapped around a webpage with access to native features Native Pure native code. No plugins. Pure performance What are the different mobile architectures?
  • 5. Native ​ Design Patterns that work! ​ Material Design ​ iOS Design Guidelines
  • 7. Evolution of Native Apps ​ Evernote
  • 8. Development for Native Apps ​ Development IDE ​ Distribution​ Data Storage ​ Testing Xcode Android Studio, Eclipse ADT CoreData, SQLite SQLite Xcode Apple App Store Google Play Automation is very difficult Simulator = Device Discoverability Rev share with Apple Apple Approval Process Secure Data! Pros/Cons Full Device Access! Richest UI Experience BEST app performance Android Studio, Eclipse ADT
  • 10. What is HTML5 Forms WebSockets Manifests IndexedDB Web Workers Geo Audio / Video Canvas Transforms Animations Transitions Layout Perspective Rotate Translate Background
  • 11. CSS3 Properties For Designers ​  Multiple Form Factors ​  @media  phone  (max-­‐width:  500px)     ​  @media  tablet  (max-­‐width:  2000px)   ​  <link  rel="stylesheet"  media="phone"    href="phone.css"  >   ​  <link  rel="stylesheet"  media="tablet"  href="tablet.css">     ​  Orientation ​  @media  tablet  and  (orientation:landscape)   ​  @media  tablet  and  (orientation:portrait)   #stretch  {   border-­‐image:  url(bubble.png)                25  46  29  31  fill   stretch;  }     Styling
  • 12. The Diverse Selection of HTML5 Frameworks
  • 13. Development for HTML5 Apps ​ Development IDE ​ Distribution​ Data Storage ​ Testing Any Editor Any Browser WebStorage (key value pairs) IndexedDB for structured data Debug directly on device Full Automation through Selenium Completely Unrestricted Any web host Instant updates Pros/Cons Non Secure Storage! Full End to End Automation Guarantee Trust Keep 100% of revenue $$$ Cannot be listed in app stores Limited “device” access
  • 15. Thin or THICK Anatomy Of A Hybrid App Mobile OS APIs CONTAINER APP BROWSER UI HTML & CSS LOGIC JavaScript MODEL WebDB HTML5 APIs
  • 16. UIs for Thin Containers so thin, can t even see it WebView  in full screen mode •  Developer responsible for all navigation •  Slightly slower JavaScript execution on iOS •  Fully supported in Android 4.4+ •  Option to locally store HTML, JavaScript, and images •  Authentication and Offline Storage
  • 17. UIs for THICK Containers •  Native app provides the UI •  WebView is a partial component •  Built like a native app •  HTML5 plays a much smaller role •  For complex, re-usable components WebView  
  • 18. Container: HTML5 to Native OS Bridge •  Camera •  Calendar •  Contacts •  Connectivity •  Motion •  App Data •  Microphone •  Custom APIs navigator.camera.getPicture(onSuccess,  onFail,   {  quality:  50  });       function  onSuccess(imageData)  {          var  image  =   document.getElementById('myImage');          image.src  =  "data:image/jpeg;base64,"  +   imageData;   }   JavaScript
  • 19. Development for Hybrid Apps ​ Development IDE ​ Distribution​ Data Storage ​ Testing Any Editor Any Browser WebStorage IndexedDB for structured data Secure Storage: SmartStore, Native Debug in browser & directly on device Automation segmented between web and native Pros/Cons Secure Storage Browser and native development tools Xcode, Android Studio + Most Device Feature Access One app for all platforms Apple App Store Google Play Discoverability Changes for remote hybrid apps can be done anytime
  • 20. Three Options: Which One Is Right For You? Web developer skills Access to native platform/features Non-native performance App store distribution Widely known development skills Partial instant updates Richest User Experience Fastest performance App store distribution App / Platform Specialized development skills Web developer skills Instant updates Unrestricted distribution Limited device capabilities
  • 21. What’s the right choice? •  Best User Experience •  Performance, Performance, Performance •  Access to all device features •  Duplicate costs for each platform •  Leverage existing developer skills (web) •  Access to most device features •  Real-time updates •  Poorer performance •  Complicated architecture
  • 22. Salesforce Mobile SDK ​ How the Salesforce Mobile Platform can help
  • 23. •  Modern Unified Architecture on ALL Platforms •  Designed for Super Responsive Apps •  Sync for Online & Offline Functionality •  Push Notification Services •  Comprehensive Mobile SDK Developer Guide •  Certificate based Authentication Support •  Support Latest Technologies: iOS9, Android M, Cordova 4.0 The 4th Generation Mobile Platform with the Mobile SDK
  • 24. SmartStore encrypted database SmartSync data management Enterprise identity & security Native Hybrid Any Web FrameworkOS UI Frameworks push notifications container wrappers files mdm policies Your App Unified Cross Platform Architecture
  • 25. Salesforce Mobile Backend-as-a-Service custombackend back-office partners Salesforce1 Mobile Platform •  REST endpoints optimized for mobile apps •  Identity services •  Security & policy enforcement •  Push notifications •  Enterprise scale & reliability •  Customizable business process layer •  Integrate easily with any backend system •  Cloud database •  Social everywhere •  Easy dashboards & reports •  Mobile SDK
  • 26. Best of both worlds? (maybe) •  Leverage web developer skills to write you app in Javascript using react UI components and styles •  UI elements are rendered natively •  Native performance •  Real-time updates •  No need to restart/recompile when changing the JavaScript code •  Powerful debugging using Chrome or Safari debugging tools Native
  • 27. Salesforce Mobile SDK + React Native Demo +
  • 28. Useful Mobile Resources Salesforce Mobile SDK Home Page https://developer.salesforce.com/page/Mobile_SDK Sample App Source Code https://github.com/forcedotcom/Smartsyncexplorerreactnative/tree/unstable Designs Material Design from Google iOS Human Interface Guidelines Windows Modern Design Guidelines
  • 29. Share Your Feedback, and Win a GoPro! 3 Earn a GoPro prize entry for each completed survey Tap the bell to take a survey2Enroll in a session1