Slide utilizado no curso Tecnologias em Sistemas para Internet - Programação para Front-End WeB
Size: 2.04 MB
Language: pt
Added: Sep 08, 2025
Slides: 61 pages
Slide Content
Angular
Visão Geral
Prof. Norton Guimarães
Introdução
O Angular é uma plataforma e framework para construção de single-page
application (SPA) usando HTML e TypeScript.
É desenvolvida e mantida pela GOOGLE.
Sendo considerado um dos mais usados frameworks para desenvolvimento
web.
Abrange desde soluções básicas até ferramentas e bibliotecas de construção,
teste e gerenciamento da aplicação web.
Versão vigente Angular 20 (28 de Maio de 2025).
Versões do Angular
Vantagens
★Customização e reutilização de componentes
★Produtividade e consistência de código
★Suporte a Cross Plataforma
★Melhora a velocidade e performance
★Suporte ao teste unitário
★Suporte a Interface do Usuário
★Open Source
Requisitos mínimos
Suporta os Sistemas Operacionais Windows, Linux e Mac
Node.js v22 ou superior
IDE que suporte JavaScript e HTML
Ambiente de Trabalho
Será necessário preparar o ambiente de desenvolvimento. Serão necessários:
1.Instalar o NodeJS e NPM
2.Instalar o Angular CLI via NPM
3.Instalar o Visual Studio Code ou Similar
4.Criar um novo projeto usando Angular CLI
5.Abrir a pasta do projeto no Visual Studio Code
6.Iniciar o servidor usando NodeJS
Instalando NodeJS e NPM
Instalando o Angular CLI via NPM
➢Para instalar a última versão:
○npm install -g @angular/cli
➢Para instalar uma versão específica
○npm install -g @angular/cli@18
➢Para desinstalar
○npm uninstall -g @angular/cli
➢Verificar se está instalado
○ng version
Comandos do Angular CLI
Ação Comando
Criar um aplicação ng new application nome_app
Criar um componente ng g c nome_componente
Criar um módulo ng g m nome_modulo
Criar um serviço ng g s nome_serviço
Criar um Guard ng g g nome_guard
Projeto Padrão (Project Template)
Módulo baseado em Padrão
Incluído a partir da versão 16
Standalone Template
Incluído na versão 17 (app.module)
Comando:
ng new <nome_projeto> --no--standalone
Material UI
Material UI é um conjunto de
componentes prontos para
uso que segue as diretrizes do
Material Design, uma
abordagem de design criada
pelo Google.
Comando:
ng add @angular/material
Componentes
Os componentes são o
núcleo do bloco de
construção da aplicação
angular.
Ele representa a parte da
interface do usuário e
encapsula a lógica.
Cada componente consiste em 3 partes:
Classe TypeScript, HTML e CSS
Interpolação
Interpolação é uma sintaxe especial que permite mesclar expressões com o
HTML.
Torna dinâmico a inserção de valores em tempo real.
A sintaxe da interpolação segue o duplo chave {{ }}.
Interpolação
Property Binding
Pipes
Os pipes são recursos de transformação de dados.
São funções de conversão.
Temos disponíveis:
Date Pipe
UpperCase Pipe
LowerCase Pipe
Currency Pipe
Decimal Pipe
Percentage Pipe
Json Pipe
Slice Pipe
Title Case Pipe
Property Binding
É a técnica de colocar valores das propriedades do html dinamicamente na
página.
A sintaxe usa os colchetes
[propriedade_html] = “nome_atributo_componente”
Property Binding
Property Binding
Property Binding
Two way binding
Permite a sincronização dos dados entre o modelo e visão
Utiliza a diretiva [{ngModel}]
Combina propriedades e eventos
Event Binding
Permite disparar os eventos com a interação do usuário, tais como teclado,
mouse e outros.
Eventos utiliza a sintaxe dos parênteses ( ).
Modulos
É o lugar onde podemos agrupar os componentes, diretivas, pipes e serviços.
Rotas
Rotas são, praticamente, parte do alicerce que forma uma single-page
application (SPA).
Criando uma aplicação com o Angular CLI, é criado um array de rotas (vazio)
no arquivo app.routes.ts, em src/app. O CLI configura estas rotas no arquivo
app.config.ts, na função provideRouter() que faz o roteamento.
Guardião
É uma interface do Angular que faz o meio de campo antes de chamar a rota
de fato, seja navegando entre os componentes ou saindo de algum deles.
Existem alguns tipos para rota de guarda:
●CanActivate – Verifica se o usuário pode acessar a rota;
●CanActivateChild – Verifica se o usuário pode visitar uma rota filha;
●CanDeactivate – Verifica se o usuário pode sair da rota;
●CanLoad – Verifica se o usuário pode utilizar lazy loaded.
Lazy Loading
O lazy loading (algo como "carregamento lento", em português) é o processo
de carregamento de componentes, módulos ou outros ativos de um site,
conforme necessário.
Hooks
Os hooks são métodos programados para serem executados em determinado
momento.
●ngOnInit: é executado uma vez quando o componente é inicializado;
ngOnChanges: executado uma vez na criação do componente e quando sofrer alguma
mudança;
●ngDoCheck: executado a cada mudança que o ngOnChange não detecta;
●ngOnDestroy: executado na destruição do componente.
Além desses existem outros quatros hooks dentro do ngDoCheck:
●ngAfterContentInit: conteúdo vindo de uma fonte externa do componente;
●ngAfterContentChecked: quando o conteúdo externo é verificado;
●ngAfterViewInit: executado após os dados dos filhos/próprio componente ser inicializado;
●ngAfterViewChecked: sempre que é detectado uma alteração do conteúdo.
Diretivas
Colocando em simples palavras, são instruções no DOM.
As diretivas também usam um decorator para eles “@Directive” e temos três tipos:.
●Component Directives, são os usados na classe principal do componente. Eles
contém as informações de como o componente será processado, instanciado e
usado.
●Attribute Directives, são usados para mudar o estilo e comportamento dos
elementos do DOM. Temos algumas pré-construídas como “ngClass” e
“ngStyle”.
●Structural Directives, aqui é onde mudamos e manipulamos as estruturas dos
elementos do DOM. São usados o operador “*” e também temos algumas
pré-construídas como o “*ngIf” e “*ngFor”.
Diretivas
Formulários
Os formulários são as partes de construção da interação da aplicação web.
Podem ser de dois tipos:
●Template-driven forms
●Reactive forms
Template Driven Form
É um simples caminho para criar formulários usando diretivas
É utilizado quando queremos construir formulários rapidamente e o mínimo
de validação necessária ou carregamentos complexos.
Basicamente, interação do Angular no HTML.
Reactive Forms
Reactive forms é uma abordagem orientada a modelos para construção de
formulários no Angular. Desta forma o modelo é criado na classe do
componente é mostrado no HTML com um markup especial para ele.
Ele consiste em alguns blocos:
●FormGroup;
●FormArray;
●FormControl.
Serviços
Os serviços nos auxiliam a separar do componente algumas informações
importantes e também o modo como vamos obtê-las, lógica de negócios,
além de dados de requisições ao servidor.
Eles são úteis porque o código contido neles pode ser utilizado por toda a
aplicação e não será repetido em vários locais diferentes, visto que essas
funcionalidades podem ser compartilhadas entre os componentes.
HTTP interceptor
É essencialmente uma classe que implementa a interface HttpInterceptor.
Esta interface permite a interceptação de requisições e respostas HTTP,
possibilitando que modifiquem, adicionem ou removam informações dessas
requisições ou respostas antes de serem enviadas ou recebidas.
Sendo útil para tarefas como:
●Autenticar usuários;
●Adaptar informações;
●E tratar erros do servidor.
Controles de fluxo
Refere-se a habilidade condicional dos elementos HTML ou aplicar lógica em
certas condições.
Os controles de fluxo pode ser:
●@if
●@for
●@switch
Deferrable View
Visualizações adiáveis podem ser usadas em modelos de componentes para
adiar o carregamento de dependências selecionadas dentro desse modelo.
Essas dependências incluem componentes, diretivas, pipes e qualquer CSS
associado. Para usar esse recurso, você pode encapsular declarativamente
uma seção do seu modelo em um @deferbloco que especifica as condições
de carregamento.
Suportam uma série de triggers, prefetching e vários sub-blocos
usados para placeholder, loading e estado de erro.
Para mais detalhes
Visite o site do Angular
https://v17.angular.io/docs
Alura
https://www.alura.com.br/cursos-online-front-end/angular
Udemy
https://www.udemy.com/pt/topic/angular/
Hands on Angular CLI
Passo-a-passo de como instalar o Angular
Instalar o Angular
Angular CLI - Instalado
Pasta do Projeto
Pasta do Projeto no VSCode
Criando meu Primeiro Projeto
Criando meu Primeiro Projeto
Criando meu Primeiro Projeto
Criando meu Primeiro Projeto
Subir o Servidor
Servidor ON
Hello, my-app
Estrutura do Angular
Detalhes do Angular - Projeto
Arquivos Gerais - Sem alterações para Iniciantes
●editorconfig - configurações
●gitgnore - restrições no GIT
●angular.json - configuração geral
●package-lock.json - dependências
○package.json
●serve.ts - configurações Express
●tsconfig.app.json - Configurações TypeScript
○tsconfig.json
○tsconfi.spec.json
Source Angular
Arquivos src - Globais
●index.html - página principal SPA
●main.server.ts - servidor principal
●main.ts - TypeScript Principal
●style.css - CSS padrão
App Angular
Componentes principais
app.component.
●css
●html
●spec.ts - Teste Unitário
●ts
app.config.
●serve.ts
●ts
app.routes.ts
Angular Language Service - Extensão
Criando Componentes
Criar um componente simples
Novo Componente
Vínculo do novo componente no App.Component
Vínculo do Componente no App.Component.HTML
Pratique
Crie 5 componentes simples e vincule no HTML
●Menu
●Rodapé
●Galeria
●Lista de Produtos
●Notícias
Customize o HTML com base na função de cada componente.
Desafio
1.Em cada componente criado
a.Inclua uma variável
b.Inclua uma função que retorne valores
c.Incluir caixa de texto
d.Demonstre os valores por Interpolação e Property Binding
e.Explore os eventos