Course Outline


Pre-requisites

  • Participants must have good knowledge of client-side web application development with Javascript, HTML and CSS
  • Participants must be comfortable in a Linux environment
  • Knowledge of jQuery is preferred
  • Knowledge of MVC frameworks (either on client-side or server-side) is useful

Duration

2-4 days (covering a subset of the topics - contact us for more information/customization)

Lab Setup

Hardware Configuration

Participants must have access to a system with the following hardware configuration:

  • 2GB of free RAM, 20GB of free disk space and full network connectivity

Software configuration

  • Ubuntu 16.04 Desktop Edition (sudo/root access required)
  • Node.js is required for Unit Testing configuration

Course Outline for AngularJS

Introduction
  • Thick clients, Thin servers
  • Requirements from a client-side framework
  • MVC, MVVM frameworks – introduction and overview
Data binding
  • Issues with traditional data binding in classical template systems
  • 2-way data binding - an overview
  • Comparison with other similar frameworks - Knockout, Backbone etc
AngularJS Basics
  • Modules
  • Dependency Injection
  • Templates
  • Data-binding in AngularJS
  • Expressions
Controllers
  • Introduction to Controllers
  • Functions in Controllers
  • Scopes
  • Nested Scopes
  • Controller Anti-patterns
Directives
  • Introduction to Directives
  • Built-in Directives
  • Creating Directives
Filters
  • Introduction to Filters
  • Built-in Filters
  • Writing Custom Filters
Forms
  • Accepting user input
  • Form Validation
  • Working with CSS classes
Services
  • Creating services
  • Using services
  • Explicit and Implicit Dependency Injection
Testing
  • Unit testing and e2e testing - an Introduction
  • Setting up the test frameworks
  • Introduction to
  • Karma Runner
  • Jasmine
  • Protractor
  • PhantomJS
  • WebdriverJS and Selenium
Misc
  • Best practices when using AngularJS
  • Debugging AngularJS apps
  • Using third-party modules
  • angular-ui
  • bootstrap
  • restangular
  • The future - Web Components, Polymer, ES6 etc

The classroom training will be provided in Bangalore (Bengaluru), Chennai, Hyderabad or Mumbai and will be conducted in the client's premises. All the necessary hardware/software infrastructure must be provided by the client.