In spite of this, such popular hybrid mobile app development software as Ionic, Monaca, TACO, Intel XDX, Telerik Platform is repeatedly advertised as additions to Cordova. Blackberry, Google and Mozilla are amongst the framework’s former contributors, while Microsoft, IBM, Intel, and Adobe are in the list of effective and active contributors.
To find specific reasons for such a controversial reputation and outline prospects of Cordova, let’s see at the current position on market capabilities, in terms of general performance and security as well as in terms of compatibility with mobile platforms.
Apache Cordova vs. Adobe PhoneGap
Most of the questions on Cordova revolve around its difference from PhoneGap (or rather, around the fact that such a difference exists), so let’s tackle it on priority.
If we jump over some twists and turns of acquisition, then PhoneGap is Adobe’s proprietary product and Cordova is Apache’s open-source project. Technically, they are almost the one and the same framework with similar API but different names. In addition, there are some minor Adobe-developed build services in PhoneGap, which can be useful for some projects and may be unnecessary for many others.
Although Adobe is still not planning to discontinue PhoneGap as if now (and even hosts the annual program called ‘PhoneGap Day’), as soon as Adobe decides to do this, the support for Framework can end. Meanwhile, Cordova will always remain open source and continue existing as long as its user community is active.
App market share
According to AppBrain statistics, Cordova undertakes 6.34% apps and 1.09% installs of the entire market and 1.20% of the top-500 U.S apps and installs. The result is relatively unremarkable, yet better than Appcelerator (with its top 500 market share of 0.02% and 0.00% for apps and installations respectively). Sadly, although the Cordova apps are less likely to be 4.21% of all new apps, the installation rate is even lower – 1.0 9%.
Business size share
One leader in the development of small businesses (84.4%). There’s low share of use for Cordova’s mid-market (12.5%) and much less – for enterprise objectives (3.1%). Also, Xamarin’s Enterprise Development Share (22.6%) at the same time is very close to native Android (26.9%).
Reportedly, Cordova is used for the development of Events (16.81% of all Cordova apps), Business (16.80%), Healthcare (15.33%), Finance (15.25%), Shopping (13.23%), Travel (12.07%) and Sports (11.94%) apps. By targeting these complex categories, the chances of living up to Cordova’s expectations are low, so fewer install rates.
Nevertheless, the LINE messenger (500 million installs, mainly in Japan and Indonesia), a banking mobile app by ICICI Bank (an Indian largest private bank with $109 billion in assets) and the great Amazon India shopping app are among the most popular Cordova-based apps.
Personalization can be considered the least popular category for Cordova development because only 0.22% of the applications in this category are made with this framework. However, the recent Flurry statistics Reports Personalization Apps has terribly lost its market share to a great extent, so blaming Cordova for any incompetency in this regard would be inappropriate.
Things go different with the Simulation development (0.75%), Photography (1.36%) and Gaming hybrid mobile software (from 1.31% to 2.94%, varies from the genre). Cordova is objectively a poor choice for these categories due to performance limitations that we tackle in the ‘performance’ section.
As per the g2crowds.com, the review categories where Cordova gets the highest developers’ ratings are ‘Ease of doing business with’ (8.8) and ‘Ease of Use’ (8.2), while there are lowest ratings for Cordova’s ‘Quality of Support’ (7.3) and ‘Product Direction’ (7.6). Up till now, if compared with Android Native, Ionic and Xamarin simultaneously, no Cordova rating is higher than those of the other three mobile development tools. In fact, even when Cordova receives B + from the audience, other tools get an A or A+.
In addition to 300ms diminish that go ahead every Cordova App launch, processing of all mobile app data is somewhat slow, while any background processing is not exactly possible. Despite several ‘speed-up’ JS scripts, DOM manipulation is the main reason for lack of performance speed, and the only workaround – to keep the DOM elements simple and to reuse them continuously – for applications with a simple logic is only possible.
Also Read: The Best Java IDE: 2018 Updates
Cordova apps are contained in an invisible browser, and the browser (no matter whether or not) is initially designed to keep separate content from the hardware so that it can’t damage the device. Communication between Cordova software and device hardware can only be implemented through specific plugins, which are written in C ++ or original code.
Core plugins that provide access to the Battery, Cameras, GPS, and Accelerometer have already been made available for various Cordova-supported platforms and other plugins are being developed continuously by the community.
Cordova has a low FPS rate and is lacking in libraries which are necessary to enable advanced graphics. In order to implement quality graphics for complex games and apps that require high-resolution photo/video, developers need to find a lot of workarounds and plugins that increase graphics display and capturing capabilities.
One of such plugins was provided by the Applied Recognition on February 13, 2017; This allowed Cordova developers to use their FaceLocate algorithms for Ver-ID authentication.
Cordova release is not fast for new Android and iOS versions. For example, Android API-level 24 (7.0) was released in August 2016, yet in March 2017, Cordova still only supported the API level at 23 (6.0). Same applies for iOS: The iPhone 7 released in September 2016 was not in the list of Cordova-supported devices in spring 2017. For Windows Phone, Software updates are less frequent, and BlackBerry versions appear even more rarely.
With 3.5 version of Cordova, the support for iOS 5 (and lower), as well as Android 4.3 Jelly Bean (and lower), has been discontinued. For Cordova apps to run on older platforms, specific plugins are required. Nevertheless, the Cordova Security Guide strongly advises targeting the target API level exceeding 10 (this is Android 2.3 Gingerbread, which is no longer supported by Google and manufacturers due to security breaches).
In addition, there are specific compatibility issues with Android’s original webview. To effectively modify the Cordova mobile app for Android, many developers use the Crosswalk – a tool that acts as a potential webview, with an expanded list of possibilities.
The latest Cordova software allows developers to compile a mobile app with a license that prevents web inspection. Although with source codes, app documents, local storage, and web directory, this is not so easy as they can be searched, decrypted and inspected.
Secure HTTP and other plugins related to sensitive information can promote security, but extensive use of the plugin can weak the security on its own. For this reason, mobile app developers should get a delicate balance in many plugins, which will keep an app both functional and secure.
In a nutshell
In recent years, Cordova Software has undoubtedly progressed a lot from what was previously understood under ‘Hybrid’ development. Now, its performance and capabilities can be increased through the plugins that are continuously distributed by the community. Although there is nothing to rely on plugins completely because their numbers must be strictly restricted for security purposes. In addition, implementing multiple plugins may account for the same budget as the native or Xamarin development costs.
Cordova is preferred by most small businesses, who want their unsophisticated applications to be delivered at a fast and reasonable price. Although App Market Share of Cordova App and Installation is not very good, developers get very positive reviews and are controversially used in such complex industries as healthcare and finance.
There’s a chance that exactly this industry-specific requirements gap and capabilities of Cordova may be the reason for multiple installs and adoption in small numbers.