Intensive on "advanced" development in Angular
Please rate the course
Course short description
The purpose of the intensive course is to study the features of Angular, deepen knowledge about the functionality, study new functions and master the latest updates and techniques in using Angular.
Goal of the course - learn to effectively use Angular for programming, apply best practices and proven methods, as well as improve the performance of already developed applications.
Main topics of the program
Complex pages: advanced content generation.
Let's explore decorators such as @ContentChild, @ViewChild, @ContentChildren, @ViewChildren.
Let's dive in into the work of structural directives, in particular NgComponentOutlet, and dynamic components, as well as “clean” and “dirty” pipes.
Let's talk about the Ivy compiler and how it is better than its predecessor View Engine.
Let's catch the waves of the web standard with Angular elements.
Advanced Dependency Injection.
Let's remember the DI pattern, the basics of the mechanism: let's look at the injector tree and the search hierarchy.< /p>
Let’s dot the i’s in the issue of providers VS viewProviders.
Advanced use of Change Detection.
Let’s remember CD mechanisms, including the origins ExpressionChangedAfterItHasBeenCheckedError errors.
Let's look at the role of the Zone.js library in an Angular application, its capabilities and ways to interact with it.
Let's understand why we should definitely use the OnPush strategy and how not to be afraid of it. Let's explore the power of changeDetectorRef, find out how markForCheck differs from detectChanges, when and what to use, and also unravel the secret of asyncPipe.
Advanced routing.
Let's see how to configure animations when changing state.
We will look at lazy loading of modules, as well as possible strategies for preloading them and using them in practice.
Let's talk about ways to dynamically change the configuration of states.
Service Workers and Web Workers.
Let's look at the Service Workers and Web Workers technologies, their advantages and application patterns, as well as parallelization of complex operations.
Let's look at the setup offline mode and checking for updates.
Let's find out how you can expand user interaction using web push with web push.
Build and optimization.< /p>
We’ll talk about organizing an application into modules for more efficient development, as well as reducing the size of bundles to improve performance.
We’ll look at the architectural approach of microfrontends: seamless code division and dynamic loading of modules.
Web security and Angular.
We will learn how XSS and CSRF attacks are prevented, and we will also study bypass policies and protection mechanisms in Angular.
Let's look at the non-obvious difficulties associated with the HTTPS protocol and approaches to solving them.
New and recently added features of Angular
Standalone components - let's look at their advantages and possibilities, we will learn how to create and integrate them into existing projects.
Signals in Angular - an alternative approach to working with events and data management.
Learning result
- You understand how to create efficient components in Angular.
- You know how to create large multi-module projects and optimize them.
- You understand the capabilities of the framework in terms of organizing security.
- You have the tools to parallelize the execution of complex operations.
- You know how to set up work offline and interact with the user via Web push notifications.
- You understand the latest Angular features.
Prerequisites
- Knowledge of TypeScript: types, interfaces, access modifiers and decorators.
- Understanding of basic Angular entities (Component, Directive, Service, Pipe, Router), basics of Dependency Injection and Change Detection.