Cordova apps versus MobileFirst hybrid apps

Discover the similarities and differences between Cordova apps and MobileFirst hybrid apps.

Table 1. Cordova versus MobileFirst hybrid apps
Feature MobileFirst hybrid app Cordova app
IDE Eclipse Studio    
Eclipse plug-in and integration Yes Unsupported
Rich Page Editor Yes Unsupported
Application Components Yes Yes
Note: Create your own Cordova plug-ins to manage application components in your organization. For more information, see Apache Cordova Plugin Development Guide.
Project Templates Yes Yes
Note: Create Cordova applications by using the MobileFirst Platform Command Line Interface when you create a new app: use the --template argument or provide the path during interactive mode by using mfp cordova create.
Dojo and jQuery IDE instrumentation Yes Yes
Note: Dojo and jQuery Mobile are JavaScript frameworks that you can use in Cordova apps. For more information, see Dojo Documentation and jQuery Mobile documentation.
Mobile UI Patterns Deprecated Unsupported
     
Application sub types    
Shell Component Yes Unsupported
Inner Hybrid Application Yes Unsupported
     
Application Features    
Mobile OS iOS, Android, Windows Phone 8 BlackBerry 10 iOS 7 or higher, Android 4 or higher. See System requirements for supported operating system details.
Direct Update Yes Yes
MobileFirst Security Framework Yes Yes
Certificate pinning Yes No
JSONStore Yes Yes
FIPS 140-2 Yes No
IBM® Tealeaf® SDK Yes Unsupported
Encryption of web resources that are associated with the application within the application binary file. (<EncryptWebResources>) in the application descriptor ) Yes No
Verification of the integrity of web resources by using a checksum each time the app starts running. (<testWebResourcesChecksum> in the application descriptor) Yes Unsupported
Specification of app target category (B2E or B2C) for addressable device license tracking. (<targetCategory> in application descriptor) Yes No
MobileFirst application skins Yes No
Note: To detect and handle different device screen sizes, use standard web development practices such as responsive web design.
Environment optimizations Yes Yes via Cordova hooks and merges
Push Notifications Yes Yes
Cordova plug-ins management No Yes
Mobile Browser Simulator Yes Yes
Simple browser preview Yes Yes
Cordova platform management Yes Yes
MESSAGES (i18n) Yes Yes
     
Application optimizations    
Minification Yes Yes
Note: Use common open source tools.
Concatenation of JS and CSS Yes Yes
Note: Use common open source tools.
Obfuscation Yes Yes
Note: Use common open source tools.
Android Pro Guard Yes Yes
Note: See Android documentation to enable Pro Guard.
     
Client-side JavaScript API    
WL.App.openURL Yes No
Note: Instead, use standard Cordova APIs for this functionality in the In App Browser plugin.
WL.App.close Deprecated Unsupported
WL.App.copyToClipboard Yes Unsupported
WL.App.getDeviceLocal Yes No
Note: Instead, use standard Cordova APIs for this functionality in the Globalization Plugin.
WL.App.getDeviceLanguage Yes No
Note: Instead, use standard Cordova APIs for this functionality in the Globalization Plugin.
WL.App.overrideBackButton Yes No
Note: Instead, use the standard Cordova APIs for backbutton event listener.
WL.App.resetBackButton Yes No
Note: Instead, use the standard Cordova APIs for backbutton event listener.
WL.App.BackgroundHandler Yes No
Note: To run a custom handler function, use the standard Cordova pause event listener. Use a Cordova plug-in that provides privacy and prevents iOS and Android systems and users from taking snapshots or screen captures: https://github.com/devgeeks/PrivacyScreenPlugin.
WL.Client.getAppProperty Yes No
Note: Only the APP_VERSION property is supported.
WL.Client.getEnvironment Yes No
Note: Use the standard Cordova API cordova.platformId.
WL.Client.reloadApp Yes Unsupported
WL.Badge.setNumber Yes Unsupported
WL.EncryptedCache Deprecated Unsupported
WL.OptionsMenu Yes No
Note: Use a web UI framework or standard HTML 5 to create the UI.
WL.Item Yes No
Note: Use a web UI framework or standard HTML 5 to create the UI.
WL.NativePage Yes No
Note: Use a web UI framework or standard HTML 5 to create the UI.
WL.TabBar Yes No
Note: Use a web UI framework or standard HTML 5 to create the UI.
WL.TabBarItem Yes No
Note: Use a web UI framework or standard HTML 5 to create the UI.
WL.Toast Yes No
Note: Use a web UI framework or standard HTML 5 to create the UI.