Aula 1
Aula 1
Aula 1
DESENVOLVIMENTO WEB
AULA 1
1.1 Cliente-servidor
3
transmissão das informações que possibilitem que um dispositivo encontre o
outro (Tanenbaum; Bos, 2015, p. 68; Connolly; Begg, 2005, p. 58).
4
Figura 2 – Sistemas em 2 e 3 camadas
5
aguardando alguma solicitação via rede. Essa solicitação pode ser criptografada
ou não, e utiliza como padrão as portas 1 443 (criptografado) e 80 (normal).
1
Porta é a denominação do endereço do protocolo TCP utilizado na comunicação de rede, em
que o HTTP é encapsulado. Cada programa, ao se comunicar na rede de computadores,
precisa estar associado a uma porta e um endereço IP.
2
O site Netcraft mantém um longo histórico de estatísticas sobre plataformas em uso nos sites
em atividade.
6
ambiente do servidor e muitos sistemas ainda têm essa estrutura. No entanto,
em sistemas com milhões de acessos, a infraestrutura necessária para manter
o sistema com um desempenho aceitável era muito grande.
Uma questão que pesava nesse tipo de processamento é que toda a
página (layout, figuras, estrutura, dados) precisava ser refeita na tela do
navegador. Isso tinha um impacto no servidor (processava toda a tela
novamente), no cliente (redesenhava toda a tela novamente) e na comunicação
(todos os bytes da tela eram transmitidos novamente).
Para criar uma alternativa para essa estrutura e diminuir a crescente
demanda por mais processamento no servidor, a atenção voltou-se para a forma
como uma aplicação de desktop (em duas camadas) era desenvolvida. A tela e
o processamento eram manipulados pelo lado do cliente e apenas a informação
específica que precisava ser atualizada era solicitada ao servidor. Em um
sistema web, esse método é chamado de Single Pages Applications – SPA (ou
“aplicação de página única”).
Na SPA, o servidor envia para o cliente um código que será executado no
navegador e, quando a informação precisar ser atualizada, esse código no
cliente envia uma solicitação contendo apenas essa necessidade para o
servidor.
Dessa forma, a primeira transmissão enviada para o usuário conterá o
código principal e, assim, uma boa parte do processamento será transferida para
o cliente e o servidor centralizará os dados. Com o aumento da quantidade de
usuários acessando o servidor, como parte do processamento vai para cada
usuário (cliente), os recursos do servidor (memória, processamento) podem ser
menores.
Como vantagem adicional, esse código que será executado no cliente
poderá trabalhar as interações com o usuário de forma mais rápida e poderá
criar personalizações no layout de forma mais dinâmica.
Tanto as aplicações MPA quanto as aplicações SPA são consideradas
aplicações web (web applications), desde que tornem a experiência do usuário
semelhante ao uso de aplicações desktop.
Para desenvolver tanto uma aplicação MPA quanto uma aplicação SPA,
o desenvolvedor precisará conhecer ferramentas e tecnologias usadas no
navegador do cliente (por exemplo, HTML, CSS, JavaScript) e no servidor (por
exemplo, banco de dados, plataforma HTTP). Para aprofundar o contexto de
7
processamento no lado cliente, incluiremos aqui, futuramente, um detalhamento
maior sobre o Cascading Style Sheets – CSS (ou “folha de estilo em cascata”),
criado com o propósito de prover um mecanismo mais flexível para organizar a
estética dos documentos HTML e do JavaScript, linguagem de programação
inserida no navegador para manipular o documento HTML e interagir com este.
2.1 Tipos
9
Os frameworks também podem compor um escopo específico, como
frameworks para layout, desenvolvimento de aplicações móveis,
desenvolvimento de sistemas corporativos ou desenvolvimento de sites
dinâmicos, por exemplo. Em muitos casos, é o framework que administra o fluxo
dos dados e a interação com o usuário.
Aqui vamos abordar o uso de framework no desenvolvimento de layout
(Bootstrap) e um caso no desenvolvimento de aplicação web (Angular).
11
importante salientar que as marcações (tags) no HTML podem ser escritas em
maiúsculo ou minúsculo.
12
Figura 3 – Resultado do HTML no navegador
13
Enquanto que na criação de páginas HTML estáticas para sites podem
ser utilizados editores específicos para HTML ou um editor de texto puro 3, no
desenvolvimento de sistemas web, essas tags que estruturam o documento e
formatam a informação são inseridas de forma automatizada. A linguagem de
programação escolhida imprime a tag entre as informações que serão buscadas
de uma base de dados, de um sistema de arquivos, de outro sistema ou da
entrada de dados do usuário (ver pseudocódigo no Quadro 3). Assim, a estrutura
e o conteúdo do documento HTML podem ter variações conforme a frequência
que os dados são alterados na sua origem. Por esse motivo, são chamadas de
páginas dinâmicas.
PROGRAMA TABUADA
IMPRIME <h1> Programa Tabuada de 5 </h1>“
VARIAVEL Y = 1;
REPETE 10 VEZES
IMPRIME <p> 5 x “, Y , “ = “, Y * 5 , </p>“
Y=Y+1
FIM-REPETE
3
Editor de texto puro é aquele que não acrescenta formatações no texto. Normalmente é usado
em programação.
14
• <IMG src=“figura.png”>, em que o atributo src com o valor figura.png é
utilizado para informar qual arquivo de imagem será inserido no docu-
mento pela tag IMG.
• <P id=“alerta”>, em que o atributo id marca um parágrafo com um texto
alerta.
4
Tipo de tela utilizada em smartphones e alguns notebooks em que, ao se encostar o dedo na
tela, o sistema consegue perceber a localização do toque.
15
Com a criação e evolução do CSS (de que trataremos futuramente), novas
formas de posicionamento e diagramação foram criadas e, com isso, o uso das
tabelas na diagramação de sites diminuiu sensivelmente. Atualmente, sites (ou
telas de sistemas) que posicionam seus elementos sem a necessidade de
tabelas na parte de diagramação são chamados de tableless (sem tabelas).
4.1 Tabelas
Apesar de ter sido criada para listar dados tabulares (dispostos em linhas
e colunas), uma das primeiras formas de segmentar a tela para a inserção de
informações foi a construção de uma tabela com linhas e colunas que possam
orientar o layout.
Apesar de simples para iniciar a criação de áreas no documento HTML e
distribuir informações, a criação de layouts usando tabelas está caindo em
desuso em razão de problemas de desempenho em layouts complexos e da
necessidade de adaptação das telas para diferentes tamanhos (responsividade).
No entanto, ainda é uma forma didática de compreender como as informações
podem ser distribuídas inicialmente. À medida que formos evoluindo no
entendimento de CSS e dos frameworks de layout, poderemos usar o conceito
de linhas e colunas usado nas tabelas para também posicionar as informações
usando outros mecanismos.
Na Figura 4, temos dois exemplos de utilização de uma tabela com duas
linhas e duas colunas para separar quatro espaços que podem ser usados para
colocação de conteúdo. Em cada célula da tabela, foi identificada a linha e a
coluna específica. Na primeira versão (esquerda), verifica-se que a tabela tem
as bordas definidas, que podem ser identificadas as linhas e colunas. Na versão
seguinte (direita), a mesma tabela está sem a definição das bordas, mas as
áreas continuam separadas.
16
Figura 4 – Uso de tabela em layout
17
Quadro 4 – Estrutura de uma tabela
<html>
<head>
<title> pagina principal </title>
</head>
<body>
Tabela com duas linhas <tr> e
<h1> Titulo visivel </h1>
duas colunas <td> <table border=‘1’>
<tr>
<td style=‘width: 20%’>linha 1 / coluna 1
</td>
<table> <td>linha 1 / coluna 2 </td>
</tr>
<tr> <td> </td> <td> </td> </tr> <tr>
<td>linha 2 / coluna 1 </td>
<td>linha 2 / coluna 2 <br>
<tr> <td> </td> <td> </td> </tr>
<br>
<br>
<br>
</table>
<p> area de texto </p>
<br>
<br>
<br>
</td>
</tr>
</body>
</html>
Fonte: Costa, 2021.
18
Figura 5 – Utilização de tabela em layout de página
19
5.1 Hiperlinks
5.2 Formulários
20
navegador, como digitação de texto, seleção única, seleção múltipla,
deslizamento, que podem ser utilizados para diferentes dispositivos de entrada,
como mouse, teclado, touch pad ou touch screen.
Na Figura 6, temos um exemplo didático de um formulário de cadastro de
produto, mostrando algumas formas de coleta de informações do usuário. Cada
forma de coleta tem uma tag que identifica tanto o formato quanto as informações
que serão extraídas para processamento posterior.
21
apresenta um texto auxiliar – <label> Código do produto: </label> – que serve
apenas para facilitar o entendimento da opção.
<label>Código do produto:</label>
<input type=‘text’ name=‘codigo’ placeholder=‘ ex. 1.23.456-8’>
Fonte: Costa, 2021.
Tipo:
<input type=“radio” name=‘tipo’> Importado
<input type=“radio” name=‘tipo’> Nacional
Fonte: Costa, 2021.
Outra variação da tag <input> pode ver vista no Quadro 7. Nesse caso, é
utilizado o atributo para datas (type=‘date’). Também nesse item foi
acrescentado um atributo para orientar o usuário do formato de data a ser
digitado (placeholder=‘ dd-mm-yyyy’).
22
Figura 7 – Seleção de data
23
Figura 8 – Formulário com visual padrão
FINALIZANDO
24
A possibilidade de reaproveitamento de tecnologias e sistemas
desenvolvidos para web em dispositivos móveis trouxe o desenvolvimento de
aplicativos PWA.
Em ambos os casos (desenvolvimento web ou desenvolvimento de
aplicativos móveis), o uso da rede de computadores como base para a
comunicação entre clientes (usuários) e servidores (bases de dados) é uma peça
importante no compartilhamento e processamento de informações e deve ser
avaliada pelo desenvolvedor ao estruturar a arquitetura do sistema.
Na parte final desta aula, foi apresentada a linguagem de marcação
HTML, que possibilitará criar a apresentação dos dados dos sistemas. Esse tipo
de marcação de conteúdo tem sido incluso em diferentes ambientes e
dispositivos em razão da facilidade de utilização em linguagens de programação
de diferentes tipos, uma vez que basta concatenar as tags HTML nos dados de
saída usando comandos de impressão próprios da linguagem.
Usando poucas Tags, foi possível montar exemplos de documentos HTML
que poderão servir de base para os roteiros práticos e as demais tecnologias
que serão expostas na disciplina.
25
REFERÊNCIAS
BEM-VINDO ao Open XML SDK 2.5 para Office. Microsoft Docs, 1.º nov. 2017.
Disponível em: <https://docs.microsoft.com/pt-br/office/open-xml/open-xml-sdk>.
Acesso em: 13 mar. 2021.
JAFFE, J. W3C and WHATWG to work together to advance the open web platform.
W3C, 28 May 2019. Disponível em <https://www.w3.org/blog/2019/05/
w3c-and-whatwg-to-work-together-to-advance-the-open-web-platform/>. Acesso
em: 13 mar. 2021.
PROGRESSIVE web apps (PWAs). MDN web Docs, 2021. Disponível em:
<https://developer.mozilla.org/en-US/docs/web/Progressive_web_apps>. Acesso
em: 13 mar. 2021.
26