Introduction to Cordova (PhoneGap)

Introduction to Cordova (PhoneGap)

Audience

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

Prerequisites

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

Duration

5 days. Hands on.

Objectives

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
 
Navigation
Ensuring history and deep links work as expected
Maintaining and altering state 
Passing data between view states
 
Forms
Engaging users in any size screen
Pre-populating fields with data binding
Presenting large data sets smoothly
Sanitizing and validating user input
 
Events
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

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...