What Cordova provides
The Cordova project consists of three main features: a command-line tool, access to hardware features, and the ability to support future features.
|Battery Status||Reports on battery-level change and low levels||Warning when the battery is low and prompting the user to save|
|Camera||Provides access to the camera as well as the user’s existing pictures||Taking and sharing pictures|
|Contacts||Searches, creates, edits, and removes contacts||Letting the user find a contact to receive a message from the app|
|Device||Reports on the device name and OS||Providing options for iOS versus Android|
|Device Motion and Orientation||Detects device movement and orientation||Detecting a shake to reload data|
|Dialogs and Vibration||Provides visual, audio, and tactile feedback||Using an alert (visual and audio) to warn a user|
|File and FileTransfer||Accesses the device’s filesystem and upload or download files||Downloading assets to the device for updates|
|Geolocation||Reports where the device is located||Reporting on the user’s location and finding nearby resources|
|Globalization||Localizes values (dates, numbers, and currencies) to local version||Displaying dates the right way for any country|
|InAppBrowser||Creates a popup browser||Providing documentation for your app|
|Media and Media||Capture Records audio and video||Letting users share videos|
|Network Information||Determines connection status||Warning the user when they go offline|
|Splashscreen||Provides splash-screen support||Displaying a splash-screen on initial launch and updates|
|Statusbar||Manages the status bar in Android and iOS||Specifying an overlay or color value|
|Whitelist||Specifies what remote resources are allowed||Helping prevent security issues from user-created content|
What Cordova doesn’t provide
You’ve already seen that Cordova provides a set of APIs as well as the ability to write your own features not yet supported. But what doesn’t Cordova give you out of the box? The main thing Cordova doesn’t do is provide a UI framework for your development. That means that Cordova will take your HTML, as you code it, and put it on the device. The HTML (and CSS, of course) you create may not be mobile optimized, and therefore it may be difficult for people to use on a device. Buttons may be too small to click and text may be hard to read. Cordova won’t “magically” fix these issues for you. Luckily, there are multiple solutions. As an example, the Bootstrap framework (www.getbootstrap.com) can be used with your Cordova project to easily make your application more mobile friendly.
- Apache Cordova in Action Chapter 1. What is Cordova?