Visão Geral
Curso Angular Advanced
Objetivo
Após realizar este Curso Angular Advanced, você será capaz de:
- Teste de unidade todas as partes de uma aplicação incluindo Componentes, Serviços e Tubulações
- Entenda RxJS e Observables e onde eles podem ser usados
- Implementar Autenticação e Autorização em uma Aplicação Angular
- Otimizar o desempenho angular alterando as estratégias de detecção de mudanças
- Configurar novos projetos a partir do zero utilizando a CLI Angular
- Módulos de andaime, componentes, serviços, modelos, rotas e testes unitários de acordo com as melhores práticas usando a CLI Angular
- Construir e implantar uma aplicação para a produção utilizando a CLI Angular
- Escreva Testes de Ponta a Ponta (opcional; ensinados somente se isso se aplicar ao seu grupo)
- Atualize uma aplicação existente do AngularJS para o Angular 9 (opcional; ensinado somente se isso se aplicar ao seu grupo)
Materiais
Português | Inglês
Conteúdo Programatico
Introduction
Unit Testing
- Tools: Jasmine, Karma
- Jasmine Syntax: describe, it, beforeEach, afterEach, matchers
- Setup and your First Test
- Testing Terminology: Mock, Stub, Spy, Fakes
- Angular Testing Terminology: TestBed, ComponentFixture, debugElement, async, fakeAsync, tick, inject
- Simple Component Test
- Detecting Component Changes
- Testing a Component with properties (inputs) and events (outputs)
- Testing a Component that uses the Router
- Testing a Component that depends on a Service
- Testing a Service and Mocking its HTTP requests
- Testing a Pipe
RxJS and Observables
- What is an Observable?
- Creating Observables
- What is an Observer?
- Observer Example
- Operators: map, switchMap, debounceTime, distinctUntilChanged
- Practical Application of using RxJS
- Subject
- Subject Example
- EventEmitter or Observable
Security
- Best Practices
- Preventing Cross-site Scripting (XSS)
- Trusting values with the DOMSanitizer
- HTTP Attacks (CSRF and CSSI)
- Authentication using JSON Web Tokens (JWT)
- Authorization: Router Guards
Change Detection
- Understanding Zone.js and Change Detection
- Change Detection Strategies Default and OnPush
Advanced Angular CLI
- Customizing a build using Builder APIs in the CLI
- Generating web workers
Advanced Routing
- Lazy-loading Angular Modules (using Dynamic Imports)
- Nested or Child Routes
Advanced Routing
- Lazy-loading Angular Modules
- Nested or Child Routes
Advanced Dependency Injection
- Providers
- Hierarchical Injection
- providedIn options: root, module, platform, any
Pipes
- Creating a custom Pipe using PipeTransform
- Understanding Pure and Impure Pipes
npm QuickStart
- Installing Dependencies
- Understanding package.json and package-lock.json
- Using npm as a Build Tool
Managing Shared Application State using ngrx and Redux
- Benefits Overview
- Three Principles of Redux: Single Source of Truth, State is Read-Only, Pure Functions
- Examples of Pure Functions
- Reducers
- Simple ngrx Example
- Time-traveling with Redux Devtools
- Full ngrx Example Application
Upgrade Strategies from AngularJS
- High-level Approaches
- Concept Mapping AngularJS to Angular
- UpgradeAdapter
- What can be Upgraded or Downgraded
- What cannot be Upgraded or Downgraded
- UpgradeAdapter and Dependency Injection
End-to-End Testing
- What is Protractor?
- Why Protractor?
- Using Locators
- Page Objects
- Debugging E2E Tests
TENHO INTERESSE