Introduction
- What’s new in Angular 11?
Getting Started
- Installing Angular 11 CLI
- Setting up the workspace
- Initializing an application
Angular 11 Components
- Building nested components
- Sharing data across components
- Loading components dynamically
- Working with custom elements
RxJS and Observables
- Exploring the RxJS library and properties
- Creating, subscribing, and multicasting observables
- Handling asynchronous operations using observables
Forms in Angular 11
- Reactive vs template-driven forms
- Validating user inputs
- Generating dynamic forms
Routing and Navigation
- Configuring routes for an application
- Passing data to routes
- Using route guards to restrict access
Advanced Dependency Injection
- Generating services in Angular 11
- Injecting dependencies into a component
- Configuring dependency providers
Security and Deployment
- Preventing cross-site scripting (XSS) and vulnerabilities
- Auditing Angular 11 applications
- Testing and building configurations for deployment
- Deploying Angular 11 applications to production
Best Practices and Troubleshooting
Summary and Next Steps
Introduction
Angular CLI
- Generating Components, Modules and Services
- Editing generated files for development
- Customizing CLI with Bootstrap, Material and Clarity
RxJS and Observables
- Using RxJS and Observables to handle complex asynchroneous events
Advanced Routing
- Routing in Angular 7 Single Page Applications
- Lazy Loading and Pre-Loading Routing
Advanced Dependency Injection
- Provider Registration
- Constructor with Parameters
- Hierarchical Dependency Injection
Advanced Pipes
- Using PipeTransform
- Pipes and Change Detection
- Pure and Impure Pipes
Change Detection Strategy
Security
- Prevention of Cross-site Scripting (XSS)
- Sanitizations
- Authentication with JSON Web Tokens
Testing
- Jasmine Test Framework and Karma
- Continuous Integration
- Service Tests
- Angular Route Guards
- Component DOM testing
- Attribute Directive Testing
- Pipe Testing
Best Practices
Troubleshooting
Summary and Conclusion
Introduction
Angular CLI
- Generating Components, Modules and Services
- Editing generated files for development
- Customizing CLI by Bootstrap, Material and Clarity
RxJS and Observables
- Using RxJS and Observables to handle complex asynchroneous events
Advanced Routing
- Routing in Angular 6 Single Page Applications
- Lazy Loading and Pre-Loading Routing
Advanced Dependency Injection
- Provider Registration
- Constructor with Parameters
- Hierarchical Dependency Injection
Advanced Pipes
- Using PipeTransform
- Pipes and Change Detection
- Pure and Impure Pipes
Change Detection Strategy
Security
- Prevention of Cross-site Scripting (XSS)
- Sanitizations
- Authentication with JSON Web Tokens
Testing
- Jasmine Test Framework and Karma
- Continuous Integration
- Service Tests
- Angular Route Guards
- Component DOM testing
- Attribute Directive Testing
- Pipe Testing
Best Practices
Troubleshooting
Summary and Conclusion
Overview
Reactive programing is an asynchronous programing paradigm that focuses on data streams and the propagation of data by establishing a defined dependency between the underlying execution models and the emitted data streams from one component to another. RxJS is one of the most comprehensive reactive programing libraries for managing UI events, asynchronous HTTP requests, and other data streams.
In this instructor-led, live training, participants will become familiar with RxJS’s tools and functions as they apply them to a variety of coding problems associated with interactive-heavy based mobile and web apps. Participants will also learn how to create and deploy a UI heavy web app.
By the end of this training, participants will be able to:
- Understand the reactive programing paradigm and its usefulness for UI heavy application development.
- Build UI heavy applications with scalability, flexibility, and responsiveness in mind.
- Easily and freely create and manage a multitude of UI events, asynchronous HTTP requests, and other data streams.
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Course Outline
To request a customized course outline for this training, please contact us.
Introduction
Observables
- Basic usage and terms
- Defining observers
- Subscribing
- Creating observables
- Multicasting
- Error handling
The RxJS Library
- Creation functions
- Operators
- Common operators
- Error handling
- Handling failed observable
- Naming conventions
Observables in Angular
- Event emitter
- HTTP
- Async pipe
- Router
- Reactive forms
Practical Usage
- Type-ahead suggestions
- Exponential backoff
Observables vs Promises
- Creation and subscription
- Chaining
- Cancellation
- Error handling
Observables vs Events API
Observables vs Arrays
Summary and Conclusion
Introduction
- What is Angular?
- What’s new in Angular 9?
Overview of Typescript and ES6 JavaScript
- TypeScript Syntax
- Using the TypeScript transpiler
- Setting up Angular 9 and Typescript
Overview of Angular 9’s Parts
- Angular CLI
- Components
- Directives
- Inputs and Outputs
- Data Binding and Interpolation
- Event Binding
- Data Modelling
- Bootstrapping
Creating Your First Angular Application
- Planning the Application
- Setting Up an Angular Project
- Creating a mobile friendly UI using Bootstrap 4 and Sass
Creating a Component
- Understanding the Component Lifecycle
- Data Flow
- Using Templates and Styles
- Projecting Content
- Working with AppModule
- Working with Custom Components
- Using View Encapsulation
- Implementing Lifecycle Hooks
- Using ViewChildren and ContentChildren
Data Binding in Angular 9
- Understanding Property and Event Binding
- Binding and Assigning Aliases to Custom Properties
- Binding and Assigning Aliases to Custom Events
Working with Directives
- Built-in Directives
- Custom Directives
Angular 9 Services
- Creating a Logging Service
- Creating a Data Service
Using Dependency Injection and Providers
- Injectors, Provider, and Tokens
- Configuring Dependency Injection
- Configuring Your Provider
- Injecting Services into Components, Directives, and Services
Switching Pages with Routing
- Understanding the Different Navigation Methods
- Routing Strategies
- Setting Up Routes
- Configuring and Loading Routes
- Using Parameters in Routes
- Creating Nested Routes
- Using Redirect and Wildcard Routes
- Understanding Route Guards
Using RxJS to Create and Work with Observables in Angular
- Overview of Observables
- Overview of RxJS
- Building & Using Observables in Angular
Generating Forms for User Input
- Using the Template Driven Forms
- Using the Reactive Forms
- Creating custom validation
- Validating, filtering, and sanitizing form data
Using Pipes
- Transforming output
- Built-in Pipes
- Async Pipe
- Custom Pipes
Making Calls to External HTTP APIs
Using Angular Modules
Testing the Angular 9 Application
- Using Jasmine for unit testing
- Using Protractor for end-to-end testing
Debugging the Application
- Understanding Error Messages in Angular
- Using Sourcemaps to Debug Code in the Browser
- Reading TypeScript Compilor diagnostics
- Using Augury
Optimizing the Angular 9 Application
- Understanding the Ivy compiler, runtime, and renderer
- Reworking the code
- Reducing bundle size and eliminating dead-code
Angular 9 Security
- How authentication works
- Using JWT authentication
- What should and shouldn’t be written in Angular
Deploying an Angular 9 Application to Production
- Deploying to IIS, Apache, Nginx, etc.
Angular 9 Best Practices
Troubleshooting
Summary and Conclusion
Introduction
- What is Angular?
- What’s new in Angular 10?
Overview of Typescript and ES6 JavaScript
- TypeScript Syntax
- Using the TypeScript transpiler
- Setting up Angular 10 and Typescript
Overview of Angular 10’s Parts
- Angular CLI
- Components
- Directives
- Inputs and Outputs
- Data Binding and Interpolation
- Event Binding
- Data Modelling
- Bootstrapping
Creating Your First Angular Application
- Planning the Application
- Setting Up an Angular Project
- Creating a mobile friendly UI using Bootstrap 4 and Sass
Creating a Component
- Understanding the Component Lifecycle
- Data Flow
- Using Templates and Styles
- Projecting Content
- Working with AppModule
- Working with Custom Components
- Using View Encapsulation
- Implementing Lifecycle Hooks
- Using ViewChildren and ContentChildren
Data Binding in Angular 10
- Understanding Property and Event Binding
- Binding and Assigning Aliases to Custom Properties
- Binding and Assigning Aliases to Custom Events
Working with Directives
- Built-in Directives
- Custom Directives
Angular 10 Services
- Creating a Logging Service
- Creating a Data Service
Using Dependency Injection and Providers
- Injectors, Provider, and Tokens
- Configuring Dependency Injection
- Configuring Your Provider
- Injecting Services into Components, Directives, and Services
Switching Pages with Routing
- Understanding the Different Navigation Methods
- Routing Strategies
- Setting Up Routes
- Configuring and Loading Routes
- Using Parameters in Routes
- Creating Nested Routes
- Using Redirect and Wildcard Routes
- Understanding Route Guards
Using RxJS to Create and Work with Observables in Angular
- Overview of Observables
- Overview of RxJS
- Building & Using Observables in Angular
Generating Forms for User Input
- Using the Template Driven Forms
- Using the Reactive Forms
- Creating custom validation
- Validating, filtering, and sanitizing form data
Using Pipes
- Transforming output
- Built-in Pipes
- Async Pipe
- Custom Pipes
Making Calls to External HTTP APIs
Using Angular Modules
Testing the Angular 10 Application
- Using Jasmine for unit testing
- Using Protractor for end-to-end testing
Debugging the Application
- Understanding Error Messages in Angular
- Using Sourcemaps to Debug Code in the Browser
- Reading TypeScript Compilor diagnostics
- Using Augury
Optimizing the Angular 10 Application
- Reworking the code
- Reducing bundle size and eliminating dead-code
Angular 10 Security
- How authentication works
- Using JWT authentication
- What should and shouldn’t be written in Angular
Deploying an Angular 10 Application to Production
- Deploying to IIS, Apache, Nginx, etc.
Angular 10 Best Practices
Troubleshooting
Summary and Conclusion
Introduction
- What is Angular?
- What’s new in Angular 11?
Overview of Typescript and ES6 JavaScript
- TypeScript Syntax
- Using the TypeScript transpiler
- Setting up Angular 11 and Typescript
Overview of Angular 11’s Parts
- Angular CLI
- Components
- Directives
- Inputs and Outputs
- Data Binding and Interpolation
- Event Binding
- Data Modelling
- Bootstrapping
- Experimental Webpack
Creating Your First Angular Application
- Planning the Application
- Setting Up an Angular Project
- Creating a mobile friendly UI using Bootstrap 4 and Sass
Creating a Component
- Understanding the Component Lifecycle
- Data Flow
- Using Templates and Styles
- Projecting Content
- Working with AppModule
- Working with Custom Components
- Using View Encapsulation
- Implementing Lifecycle Hooks
- Using ViewChildren and ContentChildren
Data Binding in Angular 11
- Understanding Property and Event Binding
- Binding and Assigning Aliases to Custom Properties
- Binding and Assigning Aliases to Custom Events
Working with Directives
- Built-in Directives
- Custom Directives
Angular 11 Services
- Creating a Logging Service
- Creating a Data Service
Using Dependency Injection and Providers
- Injectors, Provider, and Tokens
- Configuring Dependency Injection
- Configuring Your Provider
- Injecting Services into Components, Directives, and Services
Switching Pages with Routing
- Understanding the Different Navigation Methods
- Routing Strategies
- Setting Up Routes
- Configuring and Loading Routes
- Using Parameters in Routes
- Creating Nested Routes
- Using Redirect and Wildcard Routes
- Understanding Route Guards
Using RxJS to Create and Work with Observables in Angular
- Overview of Observables
- Overview of RxJS
- Building & Using Observables in Angular
Generating Forms for User Input
- Using the Template Driven Forms
- Using the Reactive Forms
- Creating custom validation
- Validating, filtering, and sanitizing form data
Using Pipes
- Transforming output
- Built-in Pipes
- Async Pipe
- Custom Pipes
Making Calls to External HTTP APIs
Testing the Angular 10 Application
- Using Jasmine for unit testing
- Using Protractor for end-to-end testing
Debugging the Application
- Understanding Error Messages in Angular
- Using Sourcemaps to Debug Code in the Browser
- Reading TypeScript Compilor diagnostics
- Using Augury
Optimizing the Angular 11 Application
- Reworking the code
- Reducing bundle size and eliminating dead-code
Angular 11 Security
- How authentication works
- Using JWT authentication
- What should and shouldn’t be written in Angular
Deploying an Angular 11 Application to Production
- Deploying to IIS, Apache, Nginx, etc.
Angular 11 Best Practices
Troubleshooting
Summary and Conclusion
Introduction
- What is Angular?
- What’s new in Angular 12?
Overview of Typescript and ES6 JavaScript
- TypeScript Syntax
- Using the TypeScript transpiler
- Setting up Angular 12 and Typescript
Overview of Angular 12’s Parts
- Angular CLI
- Components
- Directives
- Inputs and Outputs
- Data Binding and Interpolation
- Event Binding
- Data Modelling
- Bootstrapping
- Experimental Webpack
Creating Your First Angular Application
- Planning the Application
- Setting Up an Angular Project
- Creating a mobile friendly UI using Bootstrap 4 and Sass
Creating a Component
- Understanding the Component Lifecycle
- Data Flow
- Using Templates and Styles
- Projecting Content
- Working with AppModule
- Working with Custom Components
- Using View Encapsulation
- Implementing Lifecycle Hooks
- Using ViewChildren and ContentChildren
Data Binding in Angular 12
- Understanding Property and Event Binding
- Binding and Assigning Aliases to Custom Properties
- Binding and Assigning Aliases to Custom Events
Working with Directives
- Built-in Directives
- Custom Directives
Angular 12 Services
- Creating a Logging Service
- Creating a Data Service
Using Dependency Injection and Providers
- Injectors, Provider, and Tokens
- Configuring Dependency Injection
- Configuring Your Provider
- Injecting Services into Components, Directives, and Services
Switching Pages with Routing
- Understanding the Different Navigation Methods
- Routing Strategies
- Setting Up Routes
- Configuring and Loading Routes
- Using Parameters in Routes
- Creating Nested Routes
- Using Redirect and Wildcard Routes
- Understanding Route Guards
Using RxJS to Create and Work with Observables in Angular
- Overview of Observables
- Overview of RxJS
- Building & Using Observables in Angular
Generating Forms for User Input
- Using the Template Driven Forms
- Using the Reactive Forms
- Creating custom validation
- Validating, filtering, and sanitizing form data
Using Pipes
- Transforming output
- Built-in Pipes
- Async Pipe
- Custom Pipes
Making Calls to External HTTP APIs
Testing the Angular 12 Application
- Using Jasmine for unit testing
- Exploring Protractor alternatives for end-to-end testing
Debugging the Application
- Understanding Error Messages in Angular
- Using Sourcemaps to Debug Code in the Browser
- Reading TypeScript Compilor diagnostics
- Using Augury to debug inside a browser
Optimizing the Angular 12 Application
- Reworking the code
- Reducing bundle size and eliminating dead-code
Angular 12 Security
- How authentication works
- Using JWT authentication
- What should and shouldn’t be written in Angular
Deploying an Angular 12 Application to Production
- Deploying to IIS, Apache, Nginx, etc.
Angular 12 Best Practices
Troubleshooting
Summary and Conclusion