Intermediate Angular | Reactive Angular, RxJS, NgRX, Testing, Security, Optimization & More

Gain Next-Level Angular Skills | Enhance, Optimize, Authenticate, Secure Angular & More

TT4169

Intermediate

2 Days

Course Overview

Geared for experienced Angular developers, Intermediate Angular is a two-day, hands-on course that thoroughly explores the latest Angular features and advances, demonstrating how to solve the traditional challenges of JavaScript web application development. Students will learn how to add authentication, use the Material library, learn the NgRX design pattern to implement the NgRX store, make custom directives, enhance their application with animations, write an E2E test, and increase their application's efficiency by lazy loading modules and creating their own Angular library.

Working within in an engaging, hands-on learning environment, guided by our expert team, attendees will explore:

  • Working with the Ahead of Time compiler including its impact of developers and the development process
  • How to defend against DOM-based XSS
  • How to manage routing decisions based on pre-defined criteria such as a successful authentication
  • How to meet huge data requirements by processing asynchronous data streams with RxJS
  • Simplify server-side rendering
  • How to facilitate unit testing
  • Enhance an Angular user interface with animations and other advanced features
  • Optimize Angular applications with various tools and techniques
  • Maintain state within an Angular application

Course Objectives

This course provides indoctrination in the practical use of the umbrella of technologies that are on the leading edge of modern web development. 

Working within in an engaging, hands-on learning environment, guided by our expert team, attendees will explore:

  • Working with the Ahead of Time compiler including its impact of developers and the development process
  • How to defend against DOM-based XSS
  • How to manage routing decisions based on pre-defined criteria such as a successful authentication
  • How to meet huge data requirements by processing asynchronous data streams with RxJS
  • Simplify server-side rendering
  • How to facilitate unit testing
  • Enhance an Angular user interface with animations and other advanced features
  • Optimize Angular applications with various tools and techniques
  • Maintain state within an Angular application

At the end of this two-day course, students will have a functioning, Enterprise-level, Angular application. Students will add reactive programming, authentication, interface enhancements, and learn how to maintain state with NgRX. They will then take a deeper dive including making their own custom directives, lazy loading modules, and E2E testing. They will learn how to enhance their application with animations and create their own Angular library. 

Need different skills or topics?  If your team requires different topics or tools, additional skills or custom approach, this course may be easily adjusted to accommodate.  We offer additional Angular and web development and design courses which may be blended with this course for a track that best suits your development objectives.

Course Prerequisites

In order to be successful in this class, incoming attendees are required to have current, hands-on experience in developing Angular applications.  This is an intermediate level Angular development course, designed for experienced Angular developers that need to further extend their skills in Angular development.

Please see the Related Courses tab for specific Pre-Requisite courses, Related Courses that offer similar skills or topics, and next-step Follow-On Courses and Learning Path recommendations.

Course Agenda

Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We will work with you to tune this course and level of coverage to target the skills you need most.

Session: Reactive Programming in Angular

Lesson: Working with RxJS

  • Working with RxJS in Angular
  • RxJS Operators
  • Filtering, Combining, and Mathematical Operators
  • Callback Operators
  • Lab: Working with a REST API and RxJS

Session: Security and Authentication

Lesson: DomSanitizer

  • Defending Against XSS
  • Trusting Values with the DOMSanitizer

Lesson: JSON Web Tokens

  • Backend Authentication and SPA
  • Using JSON Web Tokens (JWT)
  • Firebase and JWT

Lesson: Route Guards

  • Overview of Route Guards
  • Route Guard CanActivate
  • Using in a Service
  • Lab: Authentication and Route Protection

Session: Enhancing the Angular App

Lesson: Angular Animations

  • Triggers, States and Styles
  • Transitions
  • Using Animations
  • Keyframes and Animations
  • Lab: Angular Animations

Lesson: Angular Material

  • Gesture Support
  • Material Icons and Components
  • Materials Themes
  • Custom Themes
  • Lab: Angular Material

Lesson: Angular Elements

  • Angular Elements Overview
  • Building a Custom Element Using Angular Elements
  • Converting into Custom Elements

Session: Deep Dive into Angular 

Lesson: Testing and Angular

  • Testing Dependencies
  • Options for Testing in Angular
  • Karma
  • Jasmine
  • Protractor
  • E2E
  • Lab: Unit Testing and Debugging

Lesson: Deep Dive into Components and Directives

  • Implementing View Encapsulation
  • Content Management
  • Custom Attribute Directives
  • Listening to Host Events
  • Binding to Host Properties
  • Lab: View Child

Lesson: Deep Dive into Services and Dependency Injection

  • Hierarchical Injectors
  • Optional Dependencies
  • Host and Visibility

Session: Optimizing for the Enterprise

Lesson: Improving Performance with Ivy

  • Overview of Ivy
  • Incremental DOM and Ivy Pipes
  • Pre-compiling code with Ivy
  • Overview of Angular Universal
  • Improving User Experience with Universal
  • Pre-rendering the App on the Server

Lesson: Lazy Loading

  • Module Lazy Loading
  • Route Configuration for Lazy Loading
  • When to Preload

Lesson: Optimizing with Universal

  • Overview of Angular Universal
  • Improving the User Experience
  • Pre-rendering on the Server

Lesson: Creating Your Own Angular Library

  • Creating an Angular Library
  • Working with Angular CLI to Build the Library
  • Using the Library
  • Lab: Creating and Deploying a Library

Session: Maintain State with NgRX

Lesson: NgRX Store

  • Overview of NgRX Store
  • Actions and Reducers
  • Selectors
  • Effects
  • Lab: Maintain State with NgRX
  • Lab: NgRX for an Enterprise Application 

Bonus Topics (Time Permitting)

Lesson: ES6+

  • ES6 Classes and Modules
  • ES6 Arrow Functions and Array Methods
  • ES6 Template Literals
  • ES6 Spread Operator, Rest Parameter and Destructuring
  • Lab: Deep Dive into Object-Oriented ES6+

Lesson: Sass and SCSS for Angular and Material

  • Variables
  • Nesting
  • Partials
  • Import
  • Mixins
  • Extend/Inheritance
  • Operators

Course Materials

Student Materials: Each participant will receive a Student Guide with course notes, code samples, software tutorials, step-by-step written lab instructions, diagrams and related reference materials and resource links. Students will also receive the project files (or code, if applicable) and solutions required for the hands-on work. Any courseware of lab materials provided in a cloud (if applicable) will also be made available to you separately.

Hands-On Setup Made Simple! Our dedicated tech team will work with you to ensure our ‘easy-access’ cloud-based course environment, or local installation, is accessible, fully-tested and verified as ready to go well in advance of the course start date, ensuring a smooth start to class and effective learning experience for all participants. We can also help you install this course locally if preferred. Please inquire for details and options.

Every-Course Extras = High-Value & Long-Term Learning Support! All Public Schedule courses include our unique EveryCourse Extras package (Post-Course Resource Site access with Review Labs & Live Instructor Follow-on Support, access to QuickSkills recorded High-Value lessons, Free *Live* Course Refresh Re-Takes, early access to Special Offers, Free Courses & more). Please inquire for details.

Raise the bar for advancing technology skills

Attend a Class!

Live scheduled classes are listed below or browse our full course catalog anytime

Special Offers

We regulary offer discounts for individuals, groups and corporate teams. Contact us

Custom Team Training

Check out custom training solutions planned around your unique needs and skills.

EveryCourse Extras

Exclusive materials, ongoing support and a free live course refresh with every class.

Mix, Match & Master!
2FOR1: Two Courses, One Price!

Enroll in *any* two public courses (for 2023 *OR* 2024 dates!) by December 31, for one price!  Learn something new, or share the promo!

Click for Details & Additional Offers

Learn. Explore. Advance!

Extend your training investment! Recorded sessions, free re-sits and after course support included with Every Course
Trivera MiniCamps
Gain the skills you need with less time in the classroom with our short course, live-online hands-on events
Trivera QuickSkills: Free Courses and Webinars
Training on us! Keep your skills current with free live events, courses & webinars
Trivera AfterCourse: Coaching and Support
Expert level after-training support to help organizations put new training skills into practice on the job

The voices of our customers speak volumes

Special Offers
Limited Offer for most courses.

SAVE 50%

Learn More