Introduction to Cordova (PhoneGap)

Introduction to Cordova (PhoneGap)


Developers wishing to make use of developing cross platform mobile apps with Cordova.


A good grasp of modern HTML5, CSS and especially the latest JavaScript is essential to get the most from this course.


5 days. Hands on.


This course introduces the principles, capabilities and workflows of developing cross-platform mobile apps with Cordova. We explore building apps to be published to app stores, and maintaining a single code base between single-page web apps and app-store apps. Plenty of hands on exercises consolidate the real-world application development skills on emulators and actual devices.

Course Contents

Introducing Cross-Platform Single Codebase App Development
Explaining Cordova (also known as PhoneGap)
How web technologies can be used for Android and iOS apps
The development workflow
Capabilities and limitations
The Development Environment
Installing the tools
Setting up XCode for iOS App development (requires an Apple Mac computer)
Setting up Android SDK for Android App development (Windows, Mac or Linux)
PhoneGap Build: creating iOS and Android Apps from any development platform
Simple code editing tools
Optional emulators
Connecting to real devices over USB or via the PhonaGap app
Configuring NodeJS and automation tools
Scaffolding Application Architecture
Simple command-line procedures
Building an app from scratch 
Converting existing web content
Modular development practices: MVC and Cordova
Debugging tools and techniques
Performance and Security
Coding for the best performance
Reactive programming
Avoiding performance bottle-necks
Considering bandwidth and battery life
App permissions and security
Ensuring app and assets are secure and trustworthy
Using Plugins
Installing optional plugins to access device features
Keeping code up to date
Popular and reliable plugins
Ensuring history and deep links work as expected
Maintaining and altering state 
Passing data between view states
Engaging users in any size screen
Pre-populating fields with data binding
Presenting large data sets smoothly
Sanitizing and validating user input
Managing event handlers efficiently
Ensuring garbage collection can work as intended
Using custom events for a decoupled architecture
Application Life-cycle Events
Responding to pause, resume, rotate and destroy events
Dealing with interruptions such as calls and messages
Detecting and responding to network availability
Media and CSS
Choosing and using images at different resolutions
Providing compatible media assets
CSS and design furniture
Alerts and Notification
Customizing alert buttons and outcomes
Creating native notifications and toasts
Overview of App Design 
Typical design decisions for mobile apps
Augmenting and adapting web designs for mobile apps
Using Fonts and Glyphs which scale well
Responding to Screen Capabilities and Orientation
Choosing between platform default and corporate design across platforms
Accessing Data
Loading external data over http and https
Working with JSON data and RESTful services
Enabling offline working
Persisting data locally on the device
Security concerns and approaches
Testing and Optimizing
Creating a test environment
Writing and running unit tests
End to end testing approaches
Using performance metric tools
Publishing Apps
Understanding the configuration options for each platform
Modular code and dependencies
Optimizing and minification
Important files and decisions
Apple and Android developer accounts
Certificates, keys and the digital signing process
Other API keys you might need

Virtual Courses

ALL of our courses can be delivered virtually. And our Bath public schedule of courses are now available as live virtual sessions, using the popular Zoom Virtual Classroom and remote labs. Delegates can test their access at:

On-Site Courses

Can't attend one of our public classes? Booking for multiple people?

All our courses are available on your site! Delivered for your staff, at your premises.

Contact us to find out more...