SlideShare a Scribd company logo
Top Cordova Challenges
And How To Tackle Them
March 2019
Today’s Speakers
Matt Netkow Senior Product Evangelist
Bryant Plano Solutions Consultant
Today’s Agenda
Intro: What is a Hybrid App? Cordova? Ionic?
Tips for Addressing Top Cordova Challenges
1. Dependency Management
2. Build Failures
3. Native Bugs & Missing Features
4. Finding the Right Plugin
Live Demo
What is a Hybrid App?
HTML, CSS, JavaScript
Runs in a “browser” WebView
Wrapped in native app shell
Access device capabilities via plugins
A native app!
Cordova/
PhoneGap
Ionic Framework
Mobile-ready UI library that works everywhere:
any platform, any device, any framework.
➔ Build for iOS, Android, Electron, PWAs, Web
➔ One codebase across all platforms
➔ Use basic web skills: HTML, JS, CSS
➔ Full access to Native APIs and Plugins
#1 Dependency Management
Project Dependencies
Incompatibilities may exist between each
layer of the stack:
- Web Framework (Angular, Vue, React)
- 3rd Party JavaScript Libraries
- Ionic
- Cordova Platforms
- Cordova Plugins (and Ionic Native)
What We’ll Cover
1. JavaScript Libraries
2. Version Management
3. Cordova & Ionic Native Dependencies
4. Angular
5. Ionic CLI
6. Ionic Framework
JavaScript Libraries
"dependencies": {
"@angular/common": "^7.2.2",
"@angular/router": "^7.2.2",
"@ionic-native/camera": "^5.2.0",
"@ionic-native/core": "^5.0.0",
"@ionic-native/splash-screen": "^5.0.0",
"@ionic-native/status-bar": "^5.0.0",
"@ionic/angular": "^4.1.0",
"cordova-android": "7.1.4",
"cordova-ios": "5.0.0",
"cordova-plugin-camera": "^4.0.3"
},
package.json package.lock.json
"dependencies": {
"@angular-devkit/architect": {
"version": "0.11.4",
"resolved":
"https://registry.npmjs.org/@angular-devkit/ar
chitect/-/architect-0.11.4.tgz",
"integrity":
"sha512-2zi6S9tPlk52vyqN67IvFoeNgd0uxtrPlwl
3TdvJ3wrH7sYGJnkQ+EzAE7cKUGWAV989BbNtx
2YxhRDHnN21Fg==",
"dev": true,
"requires": {
"@angular-devkit/core": "7.1.4",
"rxjs": "6.3.3"
}
‘npm install’ Defaults to Minor Version
* (asterisk): Latest major version - *x.x.x (aka wildcard, “Wild West”)
^ (carat): Latest minor version: ^1.x.x (Somewhat restrictive)
~ (tilde): Latest patch version: ~1.1.x (Bug fixes only)
(none): Exact version: 1.1.3 (Most locked down)
Tips for Version Management
Lock Version Explicitly Lock to Patch Version Add .npmrc File
1 2 3
Cordova Dependencies
Platforms
package.json - JavaScript
"cordova-ios": "5.0.0",
"cordova-android": "7.1.4",
config.xml - Native
<engine name="ios" spec="5.0.0" />
<engine name="android" spec="7.1.4" />
<platform name="android" />
<platform name="ios" />
Plugins
package.json - JavaScript
"cordova-plugin-splashscreen": "5.0.2",
"cordova-plugin-statusbar": "2.4.2",
config.xml - Native
<plugin name="cordova-plugin-splashscreen"
spec="5.0.2" />
<plugin name="cordova-plugin-statusbar"
spec="2.4.2" />
Tips for Cordova Management
1. Use the CLI instead of directly editing config.xml and package.json
a. ionic cordova [command] - better experience w/additional
functionality
2. Upgrade safely: Remove, then re-add plugin.
a. ionic cordova plugin remove cordova-plugin-camera
b. ionic cordova plugin add cordova-plugin-camera
3. Use explicit versions: ionic cordova plugin add
cordova-plugin-camera@4.3.2
Tips for Cordova Management
5. Restore platforms and plugins
a. ionic cordova prepare restores platforms and plugins from
package.json and config.xml
b. Version to install is taken from package.json or config.xml, if found
c. In case of conflicts, package.json is given precedence over config.xml
6. Use Ionic CLI commands
a. ionic doctor: Detects common issues and suggests steps to fix them
b. ionic repair: Remove, regenerate all dependencies
Ionic Native Dependencies
Ionic Native: TypeScript “Wrappers” around Cordova plugins
https://ionicframework.com/docs/native
1. Review Cordova GitHub page for Issues, Releases
a. Example: https://github.com/apache/cordova-plugin-camera
2. Update to latest of both Ionic Native and Cordova plugins if possible
3. Review Release Notes
a. See https://github.com/ionic-team/ionic-native/releases
4. Cordova Plugins: If not using Releases tab, then check
Angular Dependencies
ng update
Update Tool
https://update.angular.io
Ionic CLI
Ionic CLI is NOT Ionic Framework
1. Update CLI:
a. npm install -g ionic
2. Update Framework (aka your Ionic project):
a. npm install @ionic/angular@latest
Ionic version numbers do not match across the board (ionic info):
1. Ionic CLI: 4.12.0
2. Ionic Framework (@ionic/angular): 4.1.2
3. Ionic Native (@ionic-native/core): ^5.2.0
Ionic Framework
1. Ionic 4: @ionic/angular, @ionic/vue, @ionic/react
2. Ionic 3: ionic-angular
Dependency Strategy: Small Changes
Go one step at a time
- Why? Reduce the surface area for issues to arise
- Separate branches, one for each layer of the stack
- Ionic
- Cordova Platforms
- Cordova Plugins (and Ionic Native)
- Web Framework (Angular, Vue, React)
- Additional 3rd Party JavaScript Libraries
Test, test, test!
Dependency Strategy: Update Often
The most stable apps are routinely updated, especially at the native layer
- Security fixes
- New Features
- Improved performance
When should I update?
- Research: Official blogs and news
- Nature of the update: Shiny new feature or critical security fix?
- Timing: Where does it fit in against Team/Project goals?
#2 Conflicts & Build Failures
Who’s the Culprit?
Plugins conflict with each other when they share underlying native dependencies
- More than one plugin trying to access the same native code
- Example: Google Play Services version
- Google Maps: GPS v24.2 but Firebase wants GPS v27.1 and Google Auth wants...
Tip: Ensure using only one plugin per specific feature/functionality
- Example: Push Notifications
Cordova Plugin Conflicts
Research the build error(s) by checking out these resources:
1. Ionic Customer Success Knowledge base: https://ionic.zendesk.com
2. Google & StackOverflow: Many errors are documented online
3. Ionic Forum: https://forum.ionicframework.com (Ionic Native category)
4. Ionic Worldwide Slack: https://ionicworldwide.herokuapp.com
Troubleshooting Failed Builds
Demo Time!
#3 Bugs & Feature Requests
Plugins are open source, but… they’re built with native code
What can you do?
1. File an issue on GitHub, contact the maintainer directly
2. Hire native developers
3. Contract out (agencies, contractors, consultancies)
Ionic has a solution for this...
How to Update/Fix OSS Plugins?
#4 Finding the Right Plugin
Use the Web Platform when possible: https://whatwebcando.today/
Do You Need One?
Start with Ionic Native
● OSS Cordova plugins wrapped in TypeScript
● See library at https://ionicframework.com/docs/native
Search the OSS community
● Core plugins are named “cordova-plugin-X” under Apache GitHub repo
● Look for official plugins, backed by a company
○ Review maintenance record
○ Recent, consistent commits?
○ When was the last release?
○ High issue count may be a concern, may not be
Tips for Picking a Plugin
Ionic Solutions for Teams
Capacitor: Cordova, Reimagined
Feature Cordova Capacitor
Supported Platforms iOS, Android, Windows
Phone
iOS, Android, Desktop
(Windows, Mac, Linux), Web,
PWA, and beyond!
Configuration style Abstracted (Config.xml) Per-platform (Info.plist,
AndroidManifest.xml)
Native platform control Limited Full control
Production ready? Yes, stable Soon
https://capacitor.ionicframework.comhttps://ion.link/capacitor-yt
Ionic Enterprise Edition
Native Bridge
Easy access to native device features and third-party
apps.
➔ Core library of native device functionality
➔ Integrations with popular third-party apps
➔ Proactive security and maintenance updates
➔ Support SLA backed by Ionic
Reality of OSS Cordova Development
Multiple plugin APIs
Multiple points of failure
Multiple maintainers
No support SLA
Enterprise Edition: One API, Any Connection
One plugin API
Fully maintained by Ionic
Easy access to device features
Pre-built & custom integrations
Works across mobile, desktop, PWA
</presentation>
Questions?

More Related Content

PDF
Building capacitor apps in appflow webinar
PDF
Reimagining Cordova: Building Cross-Platform Web Apps with Capacitor
PDF
Ionic in 30
PDF
Capacitor 1.0 launch
PDF
Capacitor 2.0 Launch
PDF
Ionic Native: Native-powered apps, without the hassle
PDF
Hybrid App Development, Redefined
PDF
Ionic App Platform Overview
Building capacitor apps in appflow webinar
Reimagining Cordova: Building Cross-Platform Web Apps with Capacitor
Ionic in 30
Capacitor 1.0 launch
Capacitor 2.0 Launch
Ionic Native: Native-powered apps, without the hassle
Hybrid App Development, Redefined
Ionic App Platform Overview

What's hot (20)

PDF
Hybrid Apps with Angular & Ionic Framework
PPTX
Hybrid app in ionic framework overview
PDF
Build Consumer Apps Using Mobile SDK and Ionic Framework
PDF
Intro to mobile apps with the ionic framework & angular js
PPTX
IONIC - Hybrid Mobile App Development
PPTX
Getting started with the Ionic Framework
PDF
Creating mobile apps - an introduction to Ionic (Engage 2016)
PPTX
Introduction to the Ionic Framework
PDF
Ionic Advisory: Your partner at every stage of development
PDF
Cordova, Angularjs & Ionic @ Codeaholics
PDF
Transporting Data at Warp Speed: How to Connect Spring Boot Apps Quickly, Pow...
PPTX
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
PPTX
Ionic - Hybrid Mobile Application Framework
PDF
Pepperoni 2.0 - How to spice up your mobile apps
PDF
Building Salesforce1 Communities Apps with React Native and Flux
PDF
Reark : a Reference Architecture for Android using RxJava
PPT
Ionic Framework
PDF
Introduction to React Native
ODP
Use Ionic Framework to develop mobile application
PDF
Mobile test automation with Selenium, Selendroid and ios-driver
Hybrid Apps with Angular & Ionic Framework
Hybrid app in ionic framework overview
Build Consumer Apps Using Mobile SDK and Ionic Framework
Intro to mobile apps with the ionic framework & angular js
IONIC - Hybrid Mobile App Development
Getting started with the Ionic Framework
Creating mobile apps - an introduction to Ionic (Engage 2016)
Introduction to the Ionic Framework
Ionic Advisory: Your partner at every stage of development
Cordova, Angularjs & Ionic @ Codeaholics
Transporting Data at Warp Speed: How to Connect Spring Boot Apps Quickly, Pow...
Hybrid Mobile Development with Apache Cordova,AngularJs and ionic
Ionic - Hybrid Mobile Application Framework
Pepperoni 2.0 - How to spice up your mobile apps
Building Salesforce1 Communities Apps with React Native and Flux
Reark : a Reference Architecture for Android using RxJava
Ionic Framework
Introduction to React Native
Use Ionic Framework to develop mobile application
Mobile test automation with Selenium, Selendroid and ios-driver
Ad

Similar to Top Cordova Challenges and How to Tackle Them (20)

PPTX
Ionic Mobile Applications - Hybrid Mobile Applications Without Compromises
PPTX
Intro to Ionic for Building Hybrid Mobile Applications
PPTX
Workshop on Hybrid App Development with Ionic Framework
PDF
Cross Platform Mobile Apps with the Ionic Framework
PPTX
Ionic Framework - get up and running to build hybrid mobile apps
PDF
Mobile Apps Using AngularJS - Adam Klein @ AngularJS IL
PPTX
Building an Ionic hybrid mobile app with TypeScript
PPTX
Hybrid vs. Native app - Ionic Framework with AngularJS
PDF
Ionic in 30
PPTX
Listfy Sprint #0
PPTX
Introduction to Ionic (SB AngularJS Meetup)
PPTX
Developing a native mobile apps using Ionic&Cordova
PDF
Ionic Framework
PDF
Building Mobile Apps with Cordova , AngularJS and Ionic
PDF
Ionic2 First Lesson of Four
PPTX
Developing Hybrid Applications with IONIC
PDF
Ionic - Revolutionizing Hybrid Mobile Application Development
PDF
Cordova + Ionic + MobileFirst
PDF
Developing ionic apps for android and ios
Ionic Mobile Applications - Hybrid Mobile Applications Without Compromises
Intro to Ionic for Building Hybrid Mobile Applications
Workshop on Hybrid App Development with Ionic Framework
Cross Platform Mobile Apps with the Ionic Framework
Ionic Framework - get up and running to build hybrid mobile apps
Mobile Apps Using AngularJS - Adam Klein @ AngularJS IL
Building an Ionic hybrid mobile app with TypeScript
Hybrid vs. Native app - Ionic Framework with AngularJS
Ionic in 30
Listfy Sprint #0
Introduction to Ionic (SB AngularJS Meetup)
Developing a native mobile apps using Ionic&Cordova
Ionic Framework
Building Mobile Apps with Cordova , AngularJS and Ionic
Ionic2 First Lesson of Four
Developing Hybrid Applications with IONIC
Ionic - Revolutionizing Hybrid Mobile Application Development
Cordova + Ionic + MobileFirst
Developing ionic apps for android and ios
Ad

More from Ionic Framework (9)

PDF
Ionic event: March 2021
PDF
Live Demo: 1-click push to app stores
PDF
Build your first Ionic React app
PDF
Ionic React
PDF
Offline Storage: Build secure, offline-first apps
PDF
Ionic Auth Connect: Single Sign-on Made Easy
PDF
Submitting ionic apps to app stores
PDF
Introducing: Ionic Studio & Appflow A Better Way to Build Apps
PDF
A Vue from Ionic
Ionic event: March 2021
Live Demo: 1-click push to app stores
Build your first Ionic React app
Ionic React
Offline Storage: Build secure, offline-first apps
Ionic Auth Connect: Single Sign-on Made Easy
Submitting ionic apps to app stores
Introducing: Ionic Studio & Appflow A Better Way to Build Apps
A Vue from Ionic

Recently uploaded (20)

PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Online Work Permit System for Fast Permit Processing
PDF
System and Network Administraation Chapter 3
PPTX
ai tools demonstartion for schools and inter college
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
top salesforce developer skills in 2025.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
AI in Product Development-omnex systems
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
Nekopoi APK 2025 free lastest update
PPTX
L1 - Introduction to python Backend.pptx
PDF
Softaken Excel to vCard Converter Software.pdf
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Online Work Permit System for Fast Permit Processing
System and Network Administraation Chapter 3
ai tools demonstartion for schools and inter college
VVF-Customer-Presentation2025-Ver1.9.pptx
top salesforce developer skills in 2025.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
ISO 45001 Occupational Health and Safety Management System
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PTS Company Brochure 2025 (1).pdf.......
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
AI in Product Development-omnex systems
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
2025 Textile ERP Trends: SAP, Odoo & Oracle
ManageIQ - Sprint 268 Review - Slide Deck
Nekopoi APK 2025 free lastest update
L1 - Introduction to python Backend.pptx
Softaken Excel to vCard Converter Software.pdf

Top Cordova Challenges and How to Tackle Them

  • 1. Top Cordova Challenges And How To Tackle Them March 2019
  • 2. Today’s Speakers Matt Netkow Senior Product Evangelist Bryant Plano Solutions Consultant
  • 3. Today’s Agenda Intro: What is a Hybrid App? Cordova? Ionic? Tips for Addressing Top Cordova Challenges 1. Dependency Management 2. Build Failures 3. Native Bugs & Missing Features 4. Finding the Right Plugin Live Demo
  • 4. What is a Hybrid App? HTML, CSS, JavaScript Runs in a “browser” WebView Wrapped in native app shell Access device capabilities via plugins A native app! Cordova/ PhoneGap
  • 5. Ionic Framework Mobile-ready UI library that works everywhere: any platform, any device, any framework. ➔ Build for iOS, Android, Electron, PWAs, Web ➔ One codebase across all platforms ➔ Use basic web skills: HTML, JS, CSS ➔ Full access to Native APIs and Plugins
  • 7. Project Dependencies Incompatibilities may exist between each layer of the stack: - Web Framework (Angular, Vue, React) - 3rd Party JavaScript Libraries - Ionic - Cordova Platforms - Cordova Plugins (and Ionic Native)
  • 8. What We’ll Cover 1. JavaScript Libraries 2. Version Management 3. Cordova & Ionic Native Dependencies 4. Angular 5. Ionic CLI 6. Ionic Framework
  • 9. JavaScript Libraries "dependencies": { "@angular/common": "^7.2.2", "@angular/router": "^7.2.2", "@ionic-native/camera": "^5.2.0", "@ionic-native/core": "^5.0.0", "@ionic-native/splash-screen": "^5.0.0", "@ionic-native/status-bar": "^5.0.0", "@ionic/angular": "^4.1.0", "cordova-android": "7.1.4", "cordova-ios": "5.0.0", "cordova-plugin-camera": "^4.0.3" }, package.json package.lock.json "dependencies": { "@angular-devkit/architect": { "version": "0.11.4", "resolved": "https://registry.npmjs.org/@angular-devkit/ar chitect/-/architect-0.11.4.tgz", "integrity": "sha512-2zi6S9tPlk52vyqN67IvFoeNgd0uxtrPlwl 3TdvJ3wrH7sYGJnkQ+EzAE7cKUGWAV989BbNtx 2YxhRDHnN21Fg==", "dev": true, "requires": { "@angular-devkit/core": "7.1.4", "rxjs": "6.3.3" }
  • 10. ‘npm install’ Defaults to Minor Version * (asterisk): Latest major version - *x.x.x (aka wildcard, “Wild West”) ^ (carat): Latest minor version: ^1.x.x (Somewhat restrictive) ~ (tilde): Latest patch version: ~1.1.x (Bug fixes only) (none): Exact version: 1.1.3 (Most locked down)
  • 11. Tips for Version Management Lock Version Explicitly Lock to Patch Version Add .npmrc File 1 2 3
  • 12. Cordova Dependencies Platforms package.json - JavaScript "cordova-ios": "5.0.0", "cordova-android": "7.1.4", config.xml - Native <engine name="ios" spec="5.0.0" /> <engine name="android" spec="7.1.4" /> <platform name="android" /> <platform name="ios" /> Plugins package.json - JavaScript "cordova-plugin-splashscreen": "5.0.2", "cordova-plugin-statusbar": "2.4.2", config.xml - Native <plugin name="cordova-plugin-splashscreen" spec="5.0.2" /> <plugin name="cordova-plugin-statusbar" spec="2.4.2" />
  • 13. Tips for Cordova Management 1. Use the CLI instead of directly editing config.xml and package.json a. ionic cordova [command] - better experience w/additional functionality 2. Upgrade safely: Remove, then re-add plugin. a. ionic cordova plugin remove cordova-plugin-camera b. ionic cordova plugin add cordova-plugin-camera 3. Use explicit versions: ionic cordova plugin add cordova-plugin-camera@4.3.2
  • 14. Tips for Cordova Management 5. Restore platforms and plugins a. ionic cordova prepare restores platforms and plugins from package.json and config.xml b. Version to install is taken from package.json or config.xml, if found c. In case of conflicts, package.json is given precedence over config.xml 6. Use Ionic CLI commands a. ionic doctor: Detects common issues and suggests steps to fix them b. ionic repair: Remove, regenerate all dependencies
  • 15. Ionic Native Dependencies Ionic Native: TypeScript “Wrappers” around Cordova plugins https://ionicframework.com/docs/native 1. Review Cordova GitHub page for Issues, Releases a. Example: https://github.com/apache/cordova-plugin-camera 2. Update to latest of both Ionic Native and Cordova plugins if possible 3. Review Release Notes a. See https://github.com/ionic-team/ionic-native/releases 4. Cordova Plugins: If not using Releases tab, then check
  • 16. Angular Dependencies ng update Update Tool https://update.angular.io
  • 17. Ionic CLI Ionic CLI is NOT Ionic Framework 1. Update CLI: a. npm install -g ionic 2. Update Framework (aka your Ionic project): a. npm install @ionic/angular@latest Ionic version numbers do not match across the board (ionic info): 1. Ionic CLI: 4.12.0 2. Ionic Framework (@ionic/angular): 4.1.2 3. Ionic Native (@ionic-native/core): ^5.2.0
  • 18. Ionic Framework 1. Ionic 4: @ionic/angular, @ionic/vue, @ionic/react 2. Ionic 3: ionic-angular
  • 19. Dependency Strategy: Small Changes Go one step at a time - Why? Reduce the surface area for issues to arise - Separate branches, one for each layer of the stack - Ionic - Cordova Platforms - Cordova Plugins (and Ionic Native) - Web Framework (Angular, Vue, React) - Additional 3rd Party JavaScript Libraries Test, test, test!
  • 20. Dependency Strategy: Update Often The most stable apps are routinely updated, especially at the native layer - Security fixes - New Features - Improved performance When should I update? - Research: Official blogs and news - Nature of the update: Shiny new feature or critical security fix? - Timing: Where does it fit in against Team/Project goals?
  • 21. #2 Conflicts & Build Failures
  • 23. Plugins conflict with each other when they share underlying native dependencies - More than one plugin trying to access the same native code - Example: Google Play Services version - Google Maps: GPS v24.2 but Firebase wants GPS v27.1 and Google Auth wants... Tip: Ensure using only one plugin per specific feature/functionality - Example: Push Notifications Cordova Plugin Conflicts
  • 24. Research the build error(s) by checking out these resources: 1. Ionic Customer Success Knowledge base: https://ionic.zendesk.com 2. Google & StackOverflow: Many errors are documented online 3. Ionic Forum: https://forum.ionicframework.com (Ionic Native category) 4. Ionic Worldwide Slack: https://ionicworldwide.herokuapp.com Troubleshooting Failed Builds
  • 26. #3 Bugs & Feature Requests
  • 27. Plugins are open source, but… they’re built with native code What can you do? 1. File an issue on GitHub, contact the maintainer directly 2. Hire native developers 3. Contract out (agencies, contractors, consultancies) Ionic has a solution for this... How to Update/Fix OSS Plugins?
  • 28. #4 Finding the Right Plugin
  • 29. Use the Web Platform when possible: https://whatwebcando.today/ Do You Need One?
  • 30. Start with Ionic Native ● OSS Cordova plugins wrapped in TypeScript ● See library at https://ionicframework.com/docs/native Search the OSS community ● Core plugins are named “cordova-plugin-X” under Apache GitHub repo ● Look for official plugins, backed by a company ○ Review maintenance record ○ Recent, consistent commits? ○ When was the last release? ○ High issue count may be a concern, may not be Tips for Picking a Plugin
  • 32. Capacitor: Cordova, Reimagined Feature Cordova Capacitor Supported Platforms iOS, Android, Windows Phone iOS, Android, Desktop (Windows, Mac, Linux), Web, PWA, and beyond! Configuration style Abstracted (Config.xml) Per-platform (Info.plist, AndroidManifest.xml) Native platform control Limited Full control Production ready? Yes, stable Soon https://capacitor.ionicframework.comhttps://ion.link/capacitor-yt
  • 34. Native Bridge Easy access to native device features and third-party apps. ➔ Core library of native device functionality ➔ Integrations with popular third-party apps ➔ Proactive security and maintenance updates ➔ Support SLA backed by Ionic
  • 35. Reality of OSS Cordova Development Multiple plugin APIs Multiple points of failure Multiple maintainers No support SLA
  • 36. Enterprise Edition: One API, Any Connection One plugin API Fully maintained by Ionic Easy access to device features Pre-built & custom integrations Works across mobile, desktop, PWA