Developing Modern, Rich Internet Applications (RIAs) in JavaScript with AngularJS, REST, PhoneGap/Cordova and More



AngularJS is a powerful client-side JavaScript MVC framework from Google that supports simple, maintainable, responsive and modular Rich Internet Applications. It supports automatic bi-directional data binding to and from JavaScript model objects, form controllers, and validation. Direct support for working with REST services and customizable routing, a comprehensive set of HTML tag-driven directives for View description, and the ability create your own custom directives are among the many reasons that AngularJS is so widely used in the RIA JS developer community.


  • Experienced web developers, Web designers, enterprise system architects (Web-oriented) who want to build cutting-edge, robust Web applications using the most current standards and practices


You should have experience equivalent to the topics in the following courses, or should attend these as a pre-requisite:

Learning Objectives

  • Essential jQuery, MVC, and NodeJS skills
  • AngularJS project structure, modules, services, and testing
  • Use NG directives and NG forms
  • NG Apps unit testing and custom directives
  • Communicate with servers and work with REST Services
  • Navigation
  • Internationalization and localization (i18n and l10n)
  • AngularJS applications for Mobile/Touch
  • AngularJS applications in PhoneGap/Cordova

1. Review of jQuery, MVC, and NodeJS

  • jQuery Essentials
  • MVC: Model-View-Controller
  • MVVM: Model-View-ViewModel
  • Using NodeJS
  • Working with Yeoman, Bower, and Grunt
  • Hello, AngularJS

2. AngularJS Overview

  • Project Structure
  • AngularJS Modules
  • AngularJS Services
  • AngularJS Models
  • Building AngularJS Projects
  • Testing AngularJS Projects

3. NG Directives

  • Conditional Display
  • Expressions
  • Looping
  • Attaching Event Handlers
  • Filters

4. NG Forms

  • Bidirectional Data Binding
  • NG Form Elements
  • Model Controllers
  • Validation
  • Form Nesting
  • Repeating Sub-Forms

5. Communicated with Servers

  • $http, XHR and JSONP
  • Promises, Promises
  • Working with REST Services
  • $resource service
  • Working with traditional CGI form processors

6. Navigation

  • Simple Navigation
  • $location
  • Routing Requests
  • Common Patterns

7. Unit Testing NG Apps

  • Model Testing
  • Controller Testing
  • View Testing
  • Exploiting NodeJS
  • Integrating Testing in the Build Cycle

8. Custom Directives

  • Overview
  • Directive Lifecycle
  • Widgets and Styling
  • Directives and Unit Testing
  • Transclusion
  • Linking and Injecting
  • Compiling

9. Internationalization and Localization

  • i18n and l10n
  • NG Formatting for l10n

10. AngularJS Applications for Mobile/Touch

  • Issues
  • Tools and Frameworks
  • Demo

11. AngularJS Applications in PhoneGap/Cordova

  • PhoneGap Overview
  • Issues
  • Demo