If you’re a web developer, then Cordova has a gentle learning curve. You can easily apply your skills as a web developer to build an app with Cordova. All you really need is to familiarize yourself with the command line in order to get up and running with Cordova.
With Cordova, you have access to native device capabilities, such as the camera, contacts, geolocation, media, SMS, and many others.
You don’t have to pay anything to use Cordova.
Anyone can contribute to Cordova’s source code to make it better. Plugins are also open source and anyone can build custom plugins. This means that developers like yourself can easily install and use these plugins. Or you can build your own plugin and share it with the community.
Lots of developers are using Cordova. This means that you’ll never be left alone solving weird bugs (if you ever encounter them). People in the community are always willing to help, all you have to do is ask.
Cordova compiles your app into a package file, which is required by most app stores. This means that apps created with Cordova can easily be deployed to the app store of your choosing. If you’re deploying to Android, Cordova creates an APK (Android Application Package) file. If you’re deploying to iOS, Cordova compiles to IPA. For Windows, it’s APPX.
It’s hard to find information about really specific things, such as what packages you need to install with the Android SDK Manager. And when you look something up, the results point to information specific to different versions of Cordova. This is sometimes confusing for beginners as they might have a different version of Cordova installed and they’re looking at documentation for another version of Cordova.
Since apps built with Cordova are basically web apps that are contained in a web view, they don’t perform as well as their native counterparts. This means that there is a limit to what kind of apps you can build. For example, a video editing application is better built natively since it will heavily rely on the CPU and GPU to do its work.
Because Cordova is just a wrapper for a web application, it doesn’t come with the user interface components, animations, and other goodies that you find in most native applications. This means that you have to implement all of these on your own. That’s why many developer rely on frameworks like Ionicor Onsen UI for building the user interface of their applications.
Not every plugin is created equal. There are those that have bugs or don’t work as expected.
Native device functionality is accessed through the use of plugins. Cordova exposes an API so that these plugins can be used in the web view, but not every device is the same. There are quirks on every device. To put it simply, not every option that you can set on a plugin will work on every device. For example, on Android, the cameraDirection
value always results in a photo taken with the rear-facing camera.
This workflow is centered around the command-line interface(CLI) and mostly used when a developer wants the application to run on different platforms. This workflow has very little need for platform-specific developments. Here the CLI copies assets of different platforms into sub-directories for each of the platforms and has a common interface to apply plugins.
This workflow is centered around lower-level shell scripts for a specific platform and is used when a developer is focused on building an application on a single platform and wants to modify it at a lower level like adding native components to the web-based components. This workflow does not have any high-level tools. If a user wants to modify the application with SDK the Platform-centered workflow is used.
What is Apache Cordova? (December 2021). Retrieved from https://www.geeksforgeeks.org/what-is-apache-cordova/.
What is Apache Cordova? (December 2021). Retrieved from https://ionic.io/resources/articles/what-is-apache-cordova.
An Introduction to Cordova: Basics. (December 2021). Retrieved from https://code.tutsplus.com/tutorials/an-introduction-to-cordova-basics--cms-25146.