What is Apache Cordova?

Pros of Apache Cordova

  • Easy to Learn 

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.

  • Access to Native Functionality 

With Cordova, you have access to native device capabilities, such as the camera, contacts, geolocation, media, SMS, and many others.

  • Free 

You don’t have to pay anything to use Cordova.

  • Open Source 

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.

  • Big 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.

  • Write Once, Deploy Everywhere 

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.

 

Cons of Apache Cordova

  • Poor Documentation 

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.

  • Slower Than Native

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.

  • Frameworks 

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.

  • Bugs in Plugins 

Not every plugin is created equal. There are those that have bugs or don’t work as expected.

  • Not Every Device Is the Same 

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.

 

Development path

  • Cross-Platform Workflow

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.

  • Platform-centered Workflow 

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.

 

References

  1. What is Apache Cordova? (December 2021). Retrieved from https://www.geeksforgeeks.org/what-is-apache-cordova/.

  2. What is Apache Cordova? (December 2021). Retrieved from https://ionic.io/resources/articles/what-is-apache-cordova.

  3. An Introduction to Cordova: Basics. (December 2021). Retrieved from https://code.tutsplus.com/tutorials/an-introduction-to-cordova-basics--cms-25146.

More Article's For You

Tag: mobile-development

What is Universal Windows Platform apps (UWP)?



Tag: web-development

What is a Single Page Application? Pros and Cons of SPAs



Tag: web-development

The 5 Most Important Skills a Web Developer Needs



Tag: server-domain

Websockets and SSE (Server Sent Events)



Tag: web-development

Principles of modern web application development



Start A Project
Start A Project With Us
Your message has been sent. Thank you!