We will be making Phone apps using using Adobe’s PhoneGap Applications, which are based on the Cordova Framework. The PhoneGap tools include a server to run on your laptop and a corresponding client you can run on your mobile device. This allows you to develop your code on your laptop and then test it on your phone. Cordova apps are “hybrid apps”. Rather than being based on the native operating system and APIs, Cordova Apps use HTML and JavaScript and run in a special web browser. This has some strengths:
You can use your existing HTML and JavaScript skills and don’t have to learn many new skills to develop apps.
You can develop a single app that can run on multiple platforms (Android, iOS, Blackberry, Windows Phone)
Cordova apps can access some underlying resources that aren’t readily available in a normal web browser, like battery status, contacts, cameras, accelerometers, geolocation, reading/writing files on the device, etc.)
Cordova apps can be made into stand alone apps and sold in App stores
There are also some challenges:
Cordova apps have the look and feel of a browser and may not match other aspects of the system
Special styling can be applied (Framework7, Onsen, and Ionic are popular), but if the OS changes Cordova apps will continue to use the styling that they were configured to use. Developers may also have to wait on the developers of the styles before they can update apps.
Hybrid apps don’t have access to all the features and APIs available to native apps.
Hybrid apps may have different restrictions on running in the background than native apps.
Many IoT uses of Apps are for displaying and interacting with simple information and some of the restrictions (like access to native APIs) may not be a significant concern.
Review the details of the Preview Your App page to see how you will be using the PhoneGap Desktop App along with the PhoneGap Mobile to test your app on your mobile device.
PhoneGap Browser Support including examples of how your browser can help you rapidly develop the user interface you’d like.
Cordova Documentation, which may be useful later in the semester when you have questions or problems.
(Optional) For your project you may want to build stand-alone apps. You may want at least be aware of PhoneGap Build and Cordova’s Platform-specific support (See the Develop for Platforms section or go directly to support for Android and iOS .