Overview
ReactiveX is a comprehensive library for creating asynchronous data streams using observable sequences. It enables developers to take advantage of observable streams and their ability to capture emitted events and execute functions accordingly.
This instructor-led, live training introduces participants to ReactiveX’s comprehensive library for developing responsive applications and walks participants through a series of cases, demonstrating the usefulness and functionality of key features of ReactiveX.
By the end of this training, participants will be able to:
- Understand the reactive programing paradigm and the functionality of observables and their common use when developing UI heavy applications
- Successfully setup an environment for ReactiveX
- Create observable events form a multitude of varying items
- Apply ReactiveX’s transforming and filtering functions
Audience
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
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
Overview
In this instructor-led, live training, participants will learn how to write and maintain tests for Angular applications.
By the end of this training, participants will be able to
- Decide the most appropriate strategy for testing an Angular application
- Carry out unit testing, component testing, A/B testing and end-to-end on an Angular application
- Choose the right tools for the job: Jasmine, Karma, Protractor, Mocha, etc.
- Write tests in Protractor and Jasmine
- Run and debug tests with Karma and Protractor
- Create a maintainable test suite
- Employ best practices for unit testing in Angular
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
Note
- Angular goes by different names and versions, namely: Angular.js, AngularJS, AngularJS 1, Angular 1, Angular 2, etc. To customize the version used in this training, please contact us to arrange.
Course Outline
To request a customized course outline for this training, please contact us.
Introduction
Overview of Typescript and ES6 JavaScript
- TypeScript Syntax
- Using the TypeScript transpiler
- Setting up Angular 7 and Typescript
Overview of Angular 7’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
- 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 7
- 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 7 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
Using Pipes
- Built-in Pipes
- Async Pipe
- Custom Pipes
Making Calls to External HTTP APIs
Using Angular Modules
Testing the Angular 7 Application
- Using Jasmine for unit testing
Debugging the Application
- Understanding Error Messages in Angular
- Using Sourcemaps to Debug Code in the Browser
- Using Augury
Optimizing the Angular 7 Application
Angular 7 Security
- Authentication
- What should and shouldn’t be written in Angular
Deploying an Angular 7 Application to Production
- Deploying to IIS, Apache, Nginx, etc.
Troubleshooting
Introduction
Angular 8
- What is Angular?
- Angular architecture
- Angular 8 features
Preparing the Development Environment
- Installing and configuring Angular 8
Angular Quick Start
- Creating an application
- Adding Bootstrap
- Creating routing
Components and Binding
- Creating and using custom components
- Working with bindings
- Building modules
- Styling components
Developing an Angular Library
- Creating Angular libraries
- Publishing Angular libraries
Services and Dependecy Injection
- Creating a service
- Injecting a service into a component, directive, and service
Form Handling
- Creating a form
- Validating, filtering, and sanitizing form data
Pipes and HTTP Requests
- Transforming output
- Setting up Firebase
- Sending requests
Offline Capabilities
- Adding service workers
- Caching assets and URLs
Testing the Application
Debugging the Application
Deploying the Application
Securing the Application
Troubleshooting
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