Curso Comprehensive Angular 11
32 horasVisão Geral
O Angular permite que os desenvolvedores criem facilmente aplicativos da Web dinâmicos e responsivos de página única que reescrevem dinamicamente partes da página atual, em vez de precisar gerar uma nova página em resposta a cada solicitação. O treinamento abrangente em Angular ensina aos participantes como criar aplicativos usando ES6, TypeScript e ferramentas modernas de front-end, incluindo npm e Webpack. Os alunos também obtêm uma compreensão da arquitetura do aplicativo e das práticas recomendadas de design em Angular, além de aprender como autenticar, testar a unidade e gerenciar o estado do aplicativo em um aplicativo Angular. Nota: Este curso é apropriado para todas as versões, Angular 2 a Angular 11.
Objetivo
Após a conclusão deste curso, você será capaz de:
- Entenda como as arquiteturas de aplicativos Web de página única são diferentes das arquiteturas tradicionais de aplicativos Web
- Use novos recursos de linguagem JavaScript (ES6), incluindo classes, módulos e funções de seta
- Use os novos recursos da linguagem TypeScript, incluindo Types, Decorators, Interfaces e Generics
- Aprenda as melhores práticas de codificação e arquitetura Angular, incluindo layout de projeto e uso de componentes de contêiner e apresentação
- Entenda e use formulários, observáveis, injeção de dependência e roteamento orientados por modelo Angular
- Comunique-se com um servidor de back-end usando o HttpClient do Angular para carregar e salvar dados
- Configure o roteador e navegue entre os componentes
- Aproveite o IVY, o novo compilador Angular, para compilações mais rápidas e menores
- Teste de unidade todas as partes de um aplicativo, incluindo componentes, serviços e tubos
- Entenda RxJS e Observables e onde eles podem ser usados
- Implementar autenticação e autorização em um aplicativo angular
- Otimize o desempenho angular alterando as estratégias de detecção de alterações
- Configure novos projetos do zero usando a CLI Angular
- Módulos de andaime, componentes, serviços, modelos, rotas e testes de unidade de acordo com as melhores práticas usando o Angular CLI
- Crie e implante um aplicativo para produção usando a CLI do Angular
- Entenda e visualize Ivy: o pipeline de compilação e renderização da próxima geração
- Escreva testes de ponta a ponta (opcional; ensinado apenas se isso se aplicar ao seu grupo)
- Atualize um aplicativo existente de AngularJS para Angular 11 (opcional; ensinado somente se isso se aplicar ao seu grupo)
Publico Alvo
- Este curso foi desenvolvido para aqueles que desejam aprender a criar um aplicativo do zero usando o Angular 11.
Pre-Requisitos
- Os alunos devem ter experiência em programação com uma linguagem orientada a objetos. Além disso, alguma experiência com JavaScript é útil, mas os novos recursos de linguagem de JavaScript e TypeScript são abordados/revisados em aula.
Informações Gerais
Carga Horária: 32h
- Se noturno este curso é ministrado de Segunda-feira à sexta-feira, das 19h às 23h
- Se aos sábados este curso é ministrado das 9h às 18h
- Se in-company por favor fazer contato para mais detalhes.
Formato de entrega:
- 100% on-line ao vivo, via Microsoft Teams na presença de um instrutor/consultor ativo no mercado.
- Nota: não é curso gravado.
Lab:
- Laboratório + Exercícios práticos
Materiais
Português | InglêsConteúdo Programatico
Introduction
- TypeScript and ECMAScript 6 (ES6) Fundamentals
- TypeScript Installation, Configuration & Compilation
- Type Annotations
- Classes
- Scoping using let, var, and const Keywords
- Arrow Functions
- ES Modules
- Decorators
- Template Literals
- Spread Syntax and Rest Parameters
- Destructuring
Angular Overview
- Benefits of Building using Angular
- Understanding Angular Versions
- Single-page Web Application Architectures vs. Traditional Serverside Web Application Architectures
- Angular Style Guide
- Angular Architecture
- Angular Compared to Other JavaScript Libraries and Frameworks (React, VueJS, etc…)
- Your First Angular Application
Components
- Understanding Components
- Component Properties & Methods
- Templates: Inline, Multi-line, and External with Component-relative Paths
Angular Modules (NgModule)
- Angular Modules vs. ES Modules
- Organizing your code into Feature Modules
Project Set-Up (Using the Angular CLI)
- Angular CLI Features
- Creating a New Project (CLI Prompts)
- Generating Code
- Customizing the Angular CLI
Data Binding
- Interpolation
- Property binding
- Event binding
- Two-way data binding
Directives
- Structural: ngFor, ngIf, ngSwitch
- Attribute: ngClass, ngStyle
Pipes
- Built-in Pipes: Using, Passing Parameters, Chaining
Advanced Components
- Component Communication using @Input, @Output
- Component Architecture
- Component Styles
- Component Lifecycle Hooks
- Evaluating UI Component Frameworks & Libraries
Services & Dependency Injection
- Using a service to access data
- Using a service to encapsulate business logic
- Understanding the scope of services
Dependency Injection
- Understanding Dependency Injection
- Angular’s Dependency Injection System
- Registering
- Injecting
Model-driven Forms (Reactive Forms)
- Importing the ReactiveFormsModule
- FormControl, FormGroup, and AbstractControl
- Binding DOM Elements to FormGroups and FormControls
- Validation Rules, Messages, and Styles
- Refactoring Reactive Forms for Reuse
- Custom Validators
Communicating with the Server using the HttpClient Service
- Deciding between Promises or Observables (RxJS)
- Making an HTTP GET Request
- Sending data to the server using Http POST and PUT Requests
- Issuing an HTTP DELETE Request
- Intercepting Requests and Responses
Router
- Importing the RouterModule
- Configuring Routes
- Displaying Components using a RouterOutlet
- Navigating declaratively with RouterLink
- Navigating with code using the Router
- Accessing parameters using ActivatedRoute
Deploying an Angular Application to Production
- Building an application using the Angular CLI
- Differential loading: creating a modern build (ES2015) and a legacy build (ES5)
- Deploying to a web server
Ivy: Next-Generation Compilation & Rendering Pipeline
- Understanding Ivy
- Ivy Goals
- Ivy Benefits & Current Status
- Ivy Bundle Sizes
Upgrading to the latest version of Angular from earlier versions
- 2.x and above
- Update Guide
- Deprecation Guide
- Patching Dependencies: npm audit fix
- Looking for AngularJS to Angular upgrades? See optional topics below.
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 Routing
- Lazy-loading Angular Modules (using Dynamic Imports)
- Nested or Child Routes
Advanced Dependency Injection
- Providers
- Hierarchical Injection
Pipes
- Creating a custom Pipe using PipeTransform
- Understanding Pure and Impure Pipes