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

COURSE OUTLINE:

Description

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.

Audience

  • 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

Prerequisites

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