Apache Cordova
Apache Cordova is an established mobile app development framework. Cordova is designed to allow developers to use standard technologies (such as HTML5, Javascript, and CSS3) for cross-platform development in building feature-rich apps.
- Command line tool converts various languages into native binary
- Accesses major features of device hardware, such as camera, contacts, device motion, etc.
- Plugin support expands what Cordova can to with devices
- Provides APIs and allows developers to write own features
- Open source with strong community support
- Ease of use and free
- Good choice for smaller apps that mildly use a device’s native features
- Processing of app data isn’t the fastest
- Communication between Cordova and device is only done with plugins
- Lacks libraries that enable advanced graphics
- Plugins required for Cordova to run on legacy platforms
Due to its open source nature, Apache Cordova has evolved in its ability to extend applications across multiple platforms. Web developers who want to deploy distributed web apps will find this software to be particularly helpful. Applications execute as part of wrappers that target a specific platform. One problem that Cordova solves is that it acts as a bridge with native mobile functions, enabling developers to create hybrid apps. However, due to its free nature, Cordova’s plugins are sometimes out of date and not supported on target platforms. Cordova offers an array of development templates, platform and version management, device data storage capabilities, whitelisting, security management, support, and many other pluses. Developers have successfully created Cordova applications and distributed them on platforms such as Android, Blackberry, iOS, OS X, Ubuntu, Windows, and WP8. Cordova’s documentation is extensive, although incomplete at times. Developers will be pleased to find a full reference that includes supported config.xml tags, javascript run-time events, a hook list, CLI commands, and supported plugin.xml tags. Cordova also includes many plugin APIs that support battery status, camera, console, contacts, device information, device motion and orientation, dialogs, file read/write, file transfter, geolocation, globalization, media capture, network information, splashscreen, vibration, and many more functions. Users have contributed have contributed thousands of other plugins, which are readily available for free download on Cordova’s page. Overall, Apache Cordova is a good tool to build mobile apps that mildly use the native features of mobile devices. As developers add complexity, it requires thorough testing to ensure that Cordova’s plugins will be supported and compatible with target platforms.