Mobile applications are becoming popular everywhere, from smartphones and tablets, to smart watches, and soon be found in other gadgets, too. However, developing for each separate mobile platform can be a boring task, especially if your resources are limited, or if you are a single developer. Then, becoming a well-experienced Apache Cordova developer can come in handy by providing a way to develop mobile applications using available standard web technologies - HTML5, CSS3 and JavaScript.
In 2009, a startup called Nitobi developed a framework named PhoneGap, which was an open source API for accessing native mobile resources, with an aim to enable developers to build mobile applications using standard web technologies. As per Nitobi’s vision, most mobile applications would soon be developed using PhoneGap, but developers would still have the option of writing native code when necessary, be it due to performance issues, or lack of a method of accessing specific hardware.
Nitobi was acquired by Adobe in 2011. However, the open source core was donated to the Apache Software Foundation and PhoneGap was rebranded under the name ‘Cordova’. The differences between Cordova and PhoneGap were nominal at the beginning. With time, Adobe developed its own set of proprietary features, while Cordova was (and still is) supported by the open source community. This Apache Cordova review article will examine Cordova app development in more detail.
Capabilities of Apache Cordova
Essentially, Cordova has no limitations in relation to natively developed applications. What you get with Cordova is simply a JavaScript API, which serves as a wrapper for native code and is consistent among all devices. You can consider Cordova as an application box with a web view, which captures the whole screen of the device. The web view that is used by Cordova is the same web view used by the native operating system. On Android, this is android.webkit.WebView and on iOS, this is the Objective-C UIWebView class;.
Apache Cordova comes with a set of already-developed plugins which allows access to the device’s camera, file system, GPS, etc. As mobile devices emerge, providing more support for additional hardware simply result in developing new plugins.
Finally, Cordova applications will be installed just like native applications. This means that building your code for Android an .APK file, for iOS will produce an .IPA file, , and building for Windows Phone produces an .XAP file. If you put your best effort into the development process, your users might not even realize that they aren’t using a native application.
Advantages of Cordova
•Cordova offers one platform for building hybrid mobile apps so we can develop one app that will be used on different mobile platform IOS, Windows Phone, Android, Amazon-fireOS, Firefox OS, blackberry, Ubuntu and tizien.
•It is quicker to develop a hybrid app than native app so Cordova can save a lot of development time and cost.
•Since we are using JavaScript, working with Cordova, we don't need to learn any platform specific programming languages.
•There arenumber of community add-ons available that can be used with Cordova. Lots of libraries and frameworks are optimized for working with it.
Limitations of Cordova
• As compared, hybrid apps are slightly slower than native ones so it is not optimal to use Cordova for large apps that require lots of data and functionality.
• Cross browser compatibility can sometimes create lots of issues. Since, we are building apps for various platforms so the testing and optimizing process can take a lot of the time since we need to cover large number of devices and operating systems.
• Some plugins are incompatible with different devices and platforms. Also, there are some native APIs that aren't yet backed by Cordova.
Also Read: How to Install and Setup Apache Cordova
Leave Comment