Course #:WA2776

Advanced Angular 7 Programming Training

Web Age Solution's Advanced Angular 7 training covers advanced topics of this next generation of the Angular framework. This course is intended for those that already have a basic understanding of the Angular 7 fundamentals and now want to cover more advanced features the Angular 7 framework offers.

This course includes advanced topics not covered in our 3 day Introduction to Angular 7 Programming class.  

Lab exercises provide essential and practical hands-on experience for each topic.

Objectives

In this training, attendees will learn how to:

  • Create Advanced HTTP Clients
  • Consume WebSocket data
  • Use the featured of Advanced Routing
  • Test and debug Angular applications

Prerequisites

Students must have some prior understanding of Angular fundamentals in addition to web development using, HTML, CSS and JavaScript. Experience developing with AngularJS or Angular 6 (the prior versions) is not required. 

Duration

2 Days

Outline of Advanced Angular 7 Programming Training

Chapter 1. Advanced HTTP Client

  • Request Options
  • Returning an HttpResponse Object
  • Setting Request Headers
  • Creating New Observables
  • Creating a Simple Observable
  • The Observable.create() Method
  • Observable Operators
  • More About map
  • Piping Operators
  • The flatMap() Operator
  • The tap() Operator
  • The zip() Operator
  • Caching HTTP Response
  • Making Sequential HTTP Calls
  • Making Parallel Calls
  • Customizing Error Object with catchError()
  • Error in Pipeline
  • Error Recovery
  • Summary

Chapter 2. Consuming WebSockets Data in Angular

  • Web Sockets Overview
  • Web Sockets Use Cases
  • Web Socket URLs
  • Web Sockets Servers
  • Web Socket Client
  • The socket.io-client library
  • Using socket.io-client in JavaScript
  • Setting up socket.io-client in Angular Projects
  • Using socket.io-client in an Angular service
  • Angular websocket.service Notes:
  • The Angular Web Socket Client Sample App
  • Angular websocket.component.ts
  • The Full websocket.component.ts code
  • Implementation Modifications
  • Summary

Chapter 3. Advanced Routing

  • Routing Overview
  • Routing Enabled Project
  • Routing Enabled Feature Module
  • Using the Feature Module
  • Lazy Loading the Feature Module
  • Creating Links for the Feature Module Components
  • More About Lazy Loading
  • routerLinkActive binding
  • Default Route
  • Wildcard Route Path
  • redirectTo
  • Child Routes
  • Defining Child Routes
  • <router-outlet> for Child Routes
  • Links for Child Routes
  • Navigation Guards
  • Creating Guard Implementations
  • Using Guards in a Route
  • Route Animations
  • Summary

Chapter 4. Introduction to Testing Angular Applications

  • Unit Testing Angular Artifacts
  • Testing Tools
  • Testing Setup
  • Typical Testing Steps
  • Test Results
  • Jasmine Test Suites
  • Jasmine Specs (Unit Tests)
  • Expectations (Assertions)
  • Matchers
  • Examples of Using Matchers
  • Using the not Property
  • Setup and Teardown in Unit Test Suites
  • Example of beforeEach and afterEach Functions
  • Angular Test Module
  • Example Angular Test Module
  • Testing a Service
  • Injecting a Service Instance
  • Test a Synchronous Method
  • Test an Asynchronous Method
  • Using Mock HTTP Client
  • Supplying Canned Response
  • Testing a Component
  • Component Test Module
  • Creating a Component Instance
  • The ComponentFixture Class
  • Basic Component Tests
  • The DebugElement Class
  • Simulating User Interaction
  • Summary

Chapter 5. Debugging

  • Overview of Angular Debugging
  • Viewing TypeScript Code in Debugger
  • Using the debugger Keyword
  • Inspecting Components
  • Saving ng.probe Component References
  • Modifying Values using Component References
  • Debug Logging
  • What is Augury?
  • Installing Augury
  • Opening Augury
  • Augury - Component Tree
  • Augury - Router Tree.
  • Augury - NgModules Tab
  • Common Exceptions
  • Common Exceptions: 'No such file: package.json'
  • Common Exceptions: 'Cant bind to ngModel'
  • Common Exceptions: 'router-outlet not a known element'
  • Common Exceptions: 'No provider for Router!'
  • Summary

Lab Exercises

Lab 1. Introduction to Angular
Lab 2. Angular Communication with REST Services
Lab 3. HTTP Error Handling and Recovery
Lab 4. Using Angular Bootstrap
Lab 5. Consuming Data from Web Sockets
Lab 6. Lazy Module Loading
Lab 7. Advanced Routing
Lab 8. Introduction to Unit Testing
Lab 9. Debugging Angular Applications

We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.