Escolar Documentos
Profissional Documentos
Cultura Documentos
DESENVOLVIMENTO WEB
AULA 5
TEMA 1 – ANGULAR
Crédito: o autor.
b)
class novaTag extends HTMLElement {
connectedCallback() {
var imagem = this.getAttribute("src");
this.innerHTML = "<p style='color:red'> Atributo: "+ imagem +" </p>";
}
}
customElements.define('aula-ang', novaTag);
Fonte: o autor.
4
da entrada de dados pelo usuário. O servidor centraliza os dados, mas não é ele
que gerencia o fluxo da aplicação.
Ao desenvolver a interface de aplicação com o usuário, o desenvolvedor
vai utilizar alguns modelos de organização dos fluxos que estarão mais
aderentes ao cenário que se propõe, seja usando um framework ou não.
5
Figura 2 – Diagrama do padrão MVC em uma aplicação web
Fonte: o autor.
6
no tipo de resposta do usuário, o programa executava algum procedimento. O
programa é que controlava cada etapa da execução.
Quando temos um código que está separado das funcionalidades que
estão sendo desenvolvidas para a aplicação, e que chama essas
funcionalidades por meio da estrutura montada para gerenciar a execução dos
códigos, estamos invertendo o controle de execução (martinFowler.com, 2004;
2005).
a) b)
a)
<a routerLink="/lista-pendencias" routerLinkActive="active">Lista faturas atrasadas</a>
b)
const sistemaRoutes: Routes = [
{ path: 'lista-pendencias', component: ListaFaturasPendentes },
];
Fonte: o autor.
O Visual Studio Code foi citado em momento anterior como a opção a ser
utilizada para a codificação dos programas. Além das funcionalidades gerais de
um editor especializado para programação, como colorização do código com
base na sintaxe da linguagem ou indentação automatizada, o VSC tem a
possibilidade de estender suas características.
Para acrescentar funções dentro do editor, extensões podem ser
instaladas e o VSC tem um mecanismo de pesquisa e exibição de extensões,
como mostra a Figura Erro: Origem da referência não encontrada a seguir.
8
Figura 3 – Lista de extensões e exibição da extensão Angular Snippets
9
Figura 4 – Uso da extensão com snippets de código Angular
3.2 NodeJS
10
Figura 5 – Executando JavaScript com o NodeJS no terminal Linux
Fonte: o autor.
3.2.1 Comandos ng
11
proj”), compilar a aplicação para distribuir ("ng build meu-proj") ou testar a
aplicação em desenvolvimento iniciando um servidor de teste ("ng serve")
(Angular, 2021a).
Caso o leitor não esteja acostumado com o uso de linha de comando
dentro do sistema operacional, a configuração do Angular, assim como muitos
comandos que auxiliam na estruturação da aplicação, são facilmente utilizados
na linha de comando. Inclusive é uma prática muito comum, nas referências e
documentações sobre o Angular, os exemplos serem apresentados com o uso
dos comandos no prompt (seja do Windows ou Linux) para a construção de
aplicações.
O próprio VSC tem um terminal incorporado para executar comandos
diretamente dentro do editor.
12
TEMA 4 – TYPESCRIPT
Fonte: o autor.
4.1 Tipos
13
Figura 7 – Declaração de tipos de variáveis em TypeScript
Fonte: o autor.
4.1 Classes
Crédito: o autor.
15
Quadro 6 – Criando uma aplicação Angular
ng new aula
? Do you want to enforce stricter type checking and stricter bundle budgets in the
workspace?
This setting helps improve maintainability and catch bugs ahead of time.
Fonte: o autor.
16
Quadro 7 – Estrutura de referência para aplicação SPA Angular
17
Figura 9 – Aplicação Angular e seus componentes
Fonte: o autor.
Para testar a aplicação básica criada e exemplificar como ela pode ser
adaptada para nossas necessidades, vamos fazer uma pequena modificação na
tela de boas-vindas e exibir no navegador o resultado. Em primeiro lugar, vamos
para a pasta “src” e, em seguida, para a pasta “app” (Quadro 8).
18
Quadro 8 – Pasta “app” e o componente inicial
Fonte: o autor.
19
Quadro 10 – Tabela de faturas
<div class='mt-5'>
Fonte: o autor.
20
que já disponibiliza a aplicação compilada. Para iniciar a compilação, devemos
entrar na linha de comando, na pasta de nossa aplicação “aula” e digitar o
comando “ng serve”, e então aguardar a mensagem do Quadro 11 a seguir.
[...]
** Angular Live Development Server is listening on 0.0.0.0:4200, open your browser on
http://localhost:4200/ **
✔ Compiled successfully.
Fonte: o autor.
Fonte: o autor.
21
Quadro 12 – Links para inclusão do Bootstrap na aplicação Angular
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css"
integrity="sha384-
TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2"
crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-
DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-
ho+j7jyWK8fNQe+A12Hb8AhRq26LrZ/JpcUGGOn+Y7RsweNrtN/tE3MoK7ZeZDyx"
crossorigin="anonymous"></script>
Fonte: o autor.
Fonte: o autor.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Aula</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css"
integrity="sha384-
TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2"
crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-
DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-
ho+j7jyWK8fNQe+A12Hb8AhRq26LrZ/JpcUGGOn+Y7RsweNrtN/tE3MoK7ZeZDyx"
crossorigin="anonymous"></script>
<link rel="stylesheet" href="styles.css"></head>
<body>
<app-root></app-root>
<script src="runtime.js" defer></script>
<script src="polyfills.js" defer></script>
<script src="vendor.js" defer></script>
<script src="main.js" defer></script>
</body>
</html>
Fonte: o autor.
23
FINALIZANDO
24
REFERÊNCIAS
Angular Snippets. In: Extensions for the Visual Studio family of products. Visual
Studio Marketplace. Disponível em: <https://marketplace.visualstudio.com/
search?term=%22Angular%20Snippets%22&target=VSCode&category=All%20c
ategories&sortBy=Relevance>. Acesso em 30 abr. 2021
25
MIŠKO Hevery and Brad Green – Keynote – NG-Conf 2014. ng-conf, 16 jan.
2014. Disponível em: <https://www.youtube.com/watch?v=r1A1VR0ibIQ>. Acesso
em: 27 abr. 2021.
26