Buscar

Programação Web [Livro Completo]

Prévia do material em texto

Tarley Francis de Lana Campos
Kleber de Jesus Dias
Fábio Santiago
Programação web
Tarley Francis de Lana Campos
Kleber de Jesus Dias
Fábio Santiago
Programação web
Campos, Tarley Francis de Lana;
Dias, Kleber de Jesus
Santiago, Fábio
Programação web. Sorocaba/SP, 2020. 116 f. Ed. 1.
Validador: Antônio Henrique Dalbem.
Instituto Cultural Newton Paiva Ferreira Ltda. | ED+ Content Hub, 2020.
Assuntos:
1. Arquitetura das aplicações Web;
2. HTML;
3. CSS;
4. JavaScript;
5. Layouts responsivos;
6. Frameworks.
Formato: digital.
Recurso: PDF e HTML.
Requisitos do sistema operacional:
• Windows 8.1 ou superior;
• Mac OSX 10.6 ou superior;
• Linux - ChromeOS.
Configurações técnicas:
• 2GB de memória RAM;
• 2.5GHz de processador;
• 10GB de espaço em disco.
Navegadores:
• Google Chrome – Versão mais atualizada;
• Mozilla Firefox – Versão mais atualizada.
Dispositivos móveis:
• iOS 10 ou superior;
• Android 5 ou superior.
Modo de acesso: área restrita - Ambiente Virtual de Aprendizagem.
Todos os direitos desta edição são reservados ao Centro Universitário Facens.
Rodovia Senador José Ermírio de Moraes, 1425, km 1,5 – Sorocaba/SP
CEP: 18.085-784 | tel.: 55 15 3238 1188
Nenhuma parte desta publicação poderá ser reproduzida por qualquer meio ou forma sem autorização.
A violação dos direitos autorais é crime estabelecido pela Lei n.º 9.610/98 e punido pelo artigo 184 do Código Penal.
Todas as imagens, vetores e ilustrações são creditados ao Shutterstock Inc., salvo quando indicada a referência.
Conteúdo
Unidade 1
Introdução à internet e suas tecnologias ........................................ 6
Unidade 2
Introdução ao HTML ......................................................................... 24
Unidade 3
Introdução ao CSS ............................................................................. 59
Unidade 4
Criando layouts responsivos ......................................................... 106
Unidade 5
Introdução ao JavaScript e ao DOM (Document Object Model) .... 146
Unidade 6
Fundamento de React .................................................................... 179
Unidade 7
Aplicações dinâmicas com o React ............................................... 195
Unidade 8
Desenvolvimento profissional ...................................................... 215
Programação web | Unidade 1 - Introdução à internet e suas tecnologias
5
PALAVRAS DOS AUTORES
Todos querem um site! É fato que se você tem uma ideia fantástica e deseja atingir milhões de pessoas 
no mundo, um dos caminhos é a criação de uma aplicação Web, pois todos que possuem um dispositivo 
conectado à internet (com um navegador instalado) podem acessar a sua aplicação. Por este motivo, 
o número de sites espalhados pela internet está cada vez maior, porém os programadores Web não 
encontram uma formação acadêmica alinhada com as exigências do mercado de trabalho, especial-
mente os desenvolvedores front-end que trabalham com a experiência de visualização dos usuários. 
Isso faz com que os desenvolvedores Web estejam entre os profissionais mais procurados na área da 
tecnologia, com salários entre R$ 2 mil e R$ 5 mil.
Para preencher essa demanda do mercado, a disciplina forma profissionais alinhados com as novas 
tendências tecnológicas, apresentando frameworks e bibliotecas populares, capacitando na construção 
de sites e aplicações Web interativas, responsivas e integradas a um back-end e permitindo que você 
trabalhe em diferentes empresas e áreas.
Nesta disciplina, você vai adquirir habilidades únicas e necessárias para criar e desenvolver uma varie-
dade de sites e aplicativos Web. Ao final do curso você será capaz de:
• Conhecer a arquitetura das aplicações Web.
• Construir sites responsivos usando CSS, Flexbox e CSS Grid.
• Desenvolver sites interativos e aplicativos Web com interface rica (RIA) usando JavaScript e HTML.
• Conectar um aplicativo Web a um back-end para armazenamento e recuperação de informações.
• Aplicar os principais frameworks do mercado.
Esse é o primeiro passo para se tornar um profissional capaz de trabalhar com toda a pilha de desenvol-
vimento Web, chamado pelo mercado de desenvolvedor fullstack (palavra full significa completo e stack, 
pilha), um desenvolvedor com capacidade de trabalhar no front-end e no back-end. Durante o curso 
você desenvolverá dois projetos completos, um site e uma aplicação Web, gerando assim uma oportuni-
dade para demonstrar suas habilidades para empregadores e clientes.
Espero que os conhecimentos desta disciplina sejam significativos para você.
Seja bem-vindo e bons estudos!
Programação web | Unidade 1 - Introdução à internet e suas tecnologias
6
Unidade 1 Introdução à internet 
e suas tecnologias
Objetivos de aprendizagem:
• Apresentar os aspectos relacionados à internet e suas tecnologias;
• Apresentar os fundamentos das redes de computadores, os conceitos de protocolos de comu-
nicação, a história e o funcionamento da internet, além da diferença entre site e aplicações web;
• Introduzir o aluno nas principais tecnologias da web;
• Apresentar o ambiente de desenvolvimento, bem como o primeiro estudo de caso cuja aplica-
bilidade será demonstrada nas unidades seguintes.
Tópicos de estudo:
• Arquitetura das aplicações web;
• Principais tecnologias da web;
• Ambiente de desenvolvimento e estudo de caso.
Iniciando os estudos:
A história da web inicia em um laboratório de física de partículas (CERN) perto de Genebra, na Suíça. Foi nesse 
local que o engenheiro de software Tim Berners-Lee percebeu a dificuldade de compartilhar informações.
Naqueles dias, havia informações diferentes em computadores diferentes, mas era necessário 
fazer logon em computadores diferentes para obter informações. Além disso, às vezes você preci-
sava aprender um programa diferente em cada computador. Muitas vezes, era mais fácil perguntar 
às pessoas quando elas estavam tomando café... (WORLD WIDE WEB FONDATION, 2019).
Tim achou uma maneira de resolver esse problema utilizando uma tecnologia emergente chamada 
hipertexto e viu que sua aplicação poderia ser ainda mais ampla, pois a internet já estava em uso desde 
1972 e possuía milhões de computadores conectados.
Em 1989, ele propôs a adoção de um grande banco de dados com hiperligações, neste momento se 
iniciou a World Wide Web (WWW), ou simplesmente web. Um meio de comunicação global no qual usuá-
rios podem ler e escrever através de computadores conectados à internet.
Segundo a matéria History of the Web (WORLD WIDE WEB FONDATION, 2019), “a Web nunca foi um projeto 
oficial do CERN, a proposta inicial de Tim não foi aceita pelo seu chefe na época, Mike Sendall. Somente 
em setembro de 1990, Mike conseguiu dar tempo a Tim para trabalhar no projeto. Ele começou a traba-
lhar usando um computador NeXT, um dos primeiros produtos de Steve Jobs”. Neste mesmo ano Tim 
construiu as ferramentas necessárias para o funcionamento da web (HTML, URI, HTTP), que continuam 
sendo a base da web atual. Essa unidade vai entrar em detalhes sobre essas tecnologias, explicando 
suas funções e como elas se integram.
Programação web | Unidade 1 - Introdução à internet e suas tecnologias
7
Ao acessar a sua rede social favorita, alguém pode te questionar se você está navegando na internet ou 
na web? Parece ser uma pergunta simples de responder e um “tanto faz” é o suficiente. Mas internet 
e web são a mesma coisa? O termo web é usado erroneamente como sinônimo da própria internet. 
A web é apenas um serviço que utiliza a internet, assim como as mensagens de e-mail. A história da 
internet antecede bastante a da web.
Figura 1 - Tim Berners-Lee inventou a internet em 1989.
Fonte: disponível em: https://bit.ly/2OHqzdQ Acesso em: 12 dez. 2019.
https://bit.ly/2OHqzdQ
Programação web | Unidade 1 - Introdução à internet e suas tecnologias
8
1 ARQUITETURA DAS APLICAÇÕES WEB
Assista
Acesse na plataforma o vídeo: Como funcionam as páginas web?
Quando você faz uma compra pela internet, em um dos diversos sistemasde vendas (Americanas, OLX, 
Netshoes, Submarino), você acessa um sistema executado em um computador remoto (servidor) conec-
tado à internet. Você utiliza um dispositivo também conectado à internet, por exemplo: smartphone, 
tablet, smart TV, notebook, PC. Seu dispositivo é considerado o cliente e o acesso é feito por meio de um 
navegador (browser).
Diferente de aplicações como Word e Excel que executam em seu computador sem a necessidade de se 
conectar a outra máquina, sistemas web são distribuídos, ou seja, parte do processamento é executado no 
cliente e a outra parte no servidor. Por esse motivo, aplicações web são classificadas como cliente-servidor 
(Figura 2 - Arquitetura cliente-servidor).
Cliente
Navegador
(browser) Internet Servidor
A figura acima ilustra o funcionamento de aplicações web. Um usuário em sua máquina-cliente, instala 
um navegador (Mozilla, Chrome ou Internet Explorer). Utilizando esse navegador, o usuário realiza soli-
citações para um servidor remoto, através da internet. Por sua vez, esse servidor recebe e processa as 
solicitações. Ao final do processamento, uma resposta é enviada para o usuário.
Figura 2 - Arquitetura cliente-servidor.
Fonte: elaborado pelo autor.
ED
+ 
Co
nt
en
t H
ub
 ©
 2
01
9
Programação web | Unidade 1 - Introdução à internet e suas tecnologias
9
Aprofunde-se
Para mais informações sobre sistemas distribuídos e suas categorias, consulte o livro 
Sistemas distribuídos: conceitos e projeto, 5ª edição, 2013.
Título: Sistemas distribuídos: conceitos e projeto
https://bit.ly/33M6urh
De 1990 a 1995, os sites eram formados por documentos de hipertexto linkados, com limitações na apre-
sentação de seu conteúdo. O surgimento de plataformas de desenvolvimento (como Java, .Net, PHP) 
impulsionaram a capacidade computacional dos sites, suas informações não eram mais estáticas, agora 
eram capazes de fornecer e receber novas informações, surgia assim as aplicações baseadas na web 
(também chamadas de WebApps) (PRESSMAN; MAXIM, 2016).
E qual a diferença entre aplicativos web e sites web?
O termo site é geralmente utilizado para categorizar aplicações menos interativas, que apenas fornecem 
conteúdo. Possuem uma interface mais atrativa e o seu propósito é divulgar as informações de uma 
empresa, os dados de um produto ou as notícias de um determinado assunto. Exemplos: blogs, sites de 
notícia, sites institucionais, portais, landing pages e hotsites.
Aprofunde-se
Para mais informações sobre que tipos de sites você pode criar, acesse o site do Hostgator: 
https://bit.ly/2PagpBx
Já o termo aplicações web é utilizado para categorizar aplicações mais interativas, que fornecem e/ou 
recebem conteúdo. Possuem interface mais fácil de usar e o seu propósito é controlar as atividades de 
uma organização. Porém não há uma definição exata que diferencie claramente sites e aplicações web. 
Os tópicos discutidos na disciplina são importantes tanto para o desenvolvimento de sites quanto para 
o desenvolvimento de aplicações web.
https://bit.ly/33M6urh
https://bit.ly/2PagpBx
Programação web | Unidade 1 - Introdução à internet e suas tecnologias
10
Aprofunde-se
Para saber como eram os layouts de sites antigos, acesse o endereço: https://bit.ly/2rVKXPp
Lá você informa o endereço do site e escolhe uma determinada data. Por exemplo, veja 
como era a página do Google em 02/12/1998.
Mas desenvolver WebApps possui as suas desvantagens:
• HTML é bom para telas estáticas, mas ruim para criar telas dinâmicas.
• A comunicação é sempre do cliente para o servidor, então para saber se alguma informação foi 
alterada no servidor, o cliente deve realizar uma nova requisição para o servidor.
• Existe uma diferença de comportamento entre os navegadores. Antigamente, essas diferenças 
eram maiores. Com o passar do tempo, os navegadores ficaram cada vez mais parecidos nesse 
aspecto. Contudo, os desenvolvedores web ainda devem tomar cuidado com essas diferenças.
• Diferentes dispositivos (computadores, tablets, celulares, televisores), com diferentes reso-
luções e tamanhos de telas. Fala-se muito de design responsivo, aplicações web são ditas 
responsivas se elas estão preparadas para diferentes tamanhos de tela.
Porém mesmo com essas desvantagens, entre 1999 e 2001, houve a explosão na criação dos sites. Mas 
então, por que todo mundo quer um aplicativo web?
• Acesso universal: todos já possuem um navegador instalado, precisa apenas estar conectado 
à internet para acessar a aplicação.
Figura 3 - Página do Google em 02/12/1998.
Fonte: disponível em: https://bit.ly/2RfLC96 Acesso em: 16 dez. 2019.
https://bit.ly/2rVKXPp 
https://bit.ly/2RfLC96 
Programação web | Unidade 1 - Introdução à internet e suas tecnologias
11
• Atualização de versão automática: o conteúdo vem de um servidor central, então se você 
atualizar a versão nesse servidor, todos os clientes imediatamente receberam essa nova versão.
As vantagens dos WebApps superam suas desvantagens. Por esse motivo, as empresas ainda investem 
nesse tipo de aplicação.
Reflita
Você teve uma ideia de um aplicativo para a web que vale milhões. Só tem um porém, você 
não tem as informações dos seus clientes, pois eles estão fora da internet.
Problema: quais navegadores, suas versões, sistemas operacionais e resoluções seu 
aplicativo deve atender?
Solução: a W3C Schools cataloga essas informações. Você pode se basear nestes dados 
para tomar a melhor decisão.
https://bit.ly/2OMhXD1
https://bit.ly/2Pd7b7J
https://bit.ly/2LyGNUX
2 PRINCIPAIS TECNOLOGIAS DA WEB
Como descrito no tópico anterior, a web usa uma arquitetura cliente-servidor, o que permite a troca de 
informações entre computadores de todo o mundo. Nesse modelo, o cliente solicita informações por 
meio de um endereço virtual e o servidor responde à solicitação com a resposta ao pedido enviado 
(MILETO; BERTAGNOLLI, 2014).
Esse endereço virtual é conhecido como URI (Uniform Resource Identifier). É um tipo de endereço exclu-
sivo e usado para identificar os recursos na web. Também é comumente chamado de URL (Uniform 
Resource Locator), endereço para localizar os recursos na web.
Esse endereço virtual é informado na barra de endereços do seu navegador e possui a seguinte sintaxe:
protocolo://dominio:porta/caminho/arquivo
Exemplos:
• 
• 
• 
https://bit.ly/2OMhXD1
https://bit.ly/2Pd7b7J
https://bit.ly/2LyGNUX
Programação web | Unidade 1 - Introdução à internet e suas tecnologias
12
Assista
Acesse na plataforma o vídeo: A dinâmica da web
Da mesma forma que nós humanos criamos as linguagens (inglês, português, espanhol) para nos comu-
nicarmos, as máquinas precisam de um padrão de comunicação. Esse padrão é chamado de protocolo.
Os protocolos são responsáveis pelas seguintes tarefas (ALVES, 2014):
• Sincronização entre o transmissor e o receptor;
• Estabelecimento e término de conexões entre os dispositivos;
• Controle do fluxo de dados;
• Detecção e correção de erros;
• Retransmissão dos dados em caso de erro;
• Endereçamento de dispositivos.
O foco será no protocolo HTTP (HyperText Transfer Protocol), utilizado para a transferência de docu-
mentos de hipermídia (hipertexto).
protocolo://dominio:porta/caminho/arquivo
Aprofunde-se
Para mais informações sobre os demais protocolos disponíveis na internet, consulte o livro 
Desenvolvimento e Design de Sites, 1ª edição, página 15.
https://bit.ly/386DHBc
Após o protocolo, você deve identificar a máquina-servidora que contém o seu site ou aplicação web. Os 
dispositivos-clientes e as máquinas-servidoras são identificadas na rede através de endereços formados 
por sequências de números. Esses endereços são chamados de endereços IP. A princípio, para acessar 
uma página na web você deve conhecer o endereço IP do servidor. Por melhor que seja a sua memória, 
é praticamente impossível decorar o IP dos seus sites favoritos. A solução deste problema é associar 
endereços IP a domínios, que são nomes mais fáceis de memorizar, por exemplo:
172.217.162.164 = www.google.com.br
208.80.154.224= www.wikipedia.org
Os domínios são controlados por organizações geralmente vinculadas ao governo. Por exemplo, os 
domínios com o final .br são controlados e disponibilizados pelo Registro de Domínios para a Internet 
https://bit.ly/386DHBc
http://www.google.com.br
http://www.wikipedia.org
Programação web | Unidade 1 - Introdução à internet e suas tecnologias
13
no Brasil (www.registro.br). Já a tradução do domínio para o endereço IP correspondente é feita pelos 
servidores DNS (Domain Name System).
Reflita
Você foi contratado para criar um site de uma empresa. Sua primeira tarefa é registrar um 
domínio para o seu site. Para isso, entre no www.registro.br e pesquise as possibilidades 
de nomes de domínios que ainda não foram registrados. Lembre-se que:
• A escolha de nome para o domínio deve ser compartilhada com o seu cliente;
• Escolha um nome fácil de memorizar, para facilitar o acesso dos seus usuários;
• Escolha um período de cobrança (1, 2, 3, 4, 5, 6, 7, 8, 9 ou 10 anos);
• Informe o valor cobrado para esse registro, pois seu cliente deve planejar o 
pagamento das renovações.
Para os dois últimos itens, acesse: https://registro.br/ajuda/pagamento-de-dominio/
Outra grande vantagem dos domínios é a transparência na troca de servidores. Veja a figura abaixo 
(Figura 4 - Compreendendo o funcionamento do domínio):
Cliente
Navegador
(browser) Servidor antigo
200.80.152.130
Servidor
DNS
Servidor novo
172.217.162.164
Internet 
www.goo
gle.
co
m.br
17
2.
21
7.
16
2.
16
4
Figura 4 - Compreendendo o funcionamento do domínio.
Fonte: elaborado pelo autor.
ED
+ 
Co
nt
en
t H
ub
 ©
 2
01
9
http://www.registro.br
https://registro.br/ajuda/pagamento-de-dominio/
Programação web | Unidade 1 - Introdução à internet e suas tecnologias
14
Em alguns casos, é necessário trocar o servidor que hospeda a sua aplicação web. Como o seu cliente 
não utiliza IP para acessar esse servidor, essa troca é simples, você apenas troca o IP associado ao 
domínio no servidor DNS.
protocolo://dominio:porta/caminho/arquivo
Por fim, você deve informar o caminho do arquivo no servidor (diretórios e o nome do próprio arquivo). 
Esse arquivo pode ser uma imagem, um áudio, um vídeo, um HTML, um CSS, um JavaScript, um PHP, 
um binário etc.
Aprofunde-se
Para mais informações sobre os Identificadores de Recursos (URI), consulte o site MDN 
Web Docs - Identificando recursos na web.
https://mzl.la/2LnxnLD
O infográfico abaixo resume a dinâmica da web, todas as etapas que ocorrem quando um usuário 
digita uma URL no seu navegador.
https://mzl.la/2LnxnLD
Programação web | Unidade 1 - Introdução à internet e suas tecnologias
15
ED
+ 
Co
nt
en
t H
ub
 ©
 2
01
9�������������
������������������
����
1 2
4
5
3
Cliente digita a URL 
(o endereço) no seu 
navegador
É solicitado a um servidor DNS o 
endereço IP do servidor
O navegador solicita 
um recurso (página) 
ao servidor encontrado 
(via HTTP ou HTTPS)
O servidor localiza e 
processa a requisição 
(utilizando linguagens 
como C# , Java e PHP)
Devolve o IP do 
servidor solicitado
6
7
O servidor responde à 
requisição (com HTML, 
CSS, JavaScript e outros)
O navegador interpreta a 
resposta e exibe ao cliente
Reflita
Eu posso criar uma aplicação web que rode somente na rede local (LAN) da minha 
empresa?
A resposta é sim, esse tipo de aplicação é comum nas empresas, principalmente por 
causa dos benefícios de atualização de versão e por não precisar instalar softwares nas 
máquinas-clientes. Lembre-se, para uma aplicação ser considerada como web ela deve ter 
um servidor central e ser acessada por um navegador.
Infográfico 1 - Etapas de uma requisição no navegador.
Fonte: elaborado pelo autor.
Programação web | Unidade 1 - Introdução à internet e suas tecnologias
16
3 AMBIENTE DE DESENVOLVIMENTO E ESTUDO DE CASO
Assista
Acesse na plataforma o vídeo: Chega de conversa, agora é mão na massa
Durante o curso, você vai criar e executar códigos na IDE Repl.it, uma poderosa, simples e gratuita plata-
forma para programação. Foi criada para educadores, alunos e desenvolvedores. Poderosa por permitir 
a programação em mais de 50 tipos de linguagens. Simples por executar diretamente no seu navegador, 
sem a necessidade de instalar nenhum outro software. Acesse a IDE no endereço: https://repl.it/
Outras vantagens de se utilizar o Repl.it:
• Fácil instalação e configuração (Trabalho/Laboratório/Casa). Você precisa de um navegador.
• Padronização: sua máquina será idêntica ao do professor e dos demais alunos, evitando assim 
os problemas causados por diferenças de sistemas operacionais e/ou configurações de máquina.
• Sem restrições na rede (Proxy, Firewall etc.) que você pode encontrar no seu ambiente de 
trabalho.
• Ambiente colaborativo: você pode compartilhar o código com o professor ou com outros 
alunos para resolução de problemas ou para trabalhos em grupo.
Figura 5 - Página inicial da ferramenta Repl.it.
Fonte: disponível em: https://repl.it/ Acesso em: 12 dez. 2019.
https://repl.it/
https://repl.it/
Programação web | Unidade 1 - Introdução à internet e suas tecnologias
17
Recomenda-se criar um usuário na ferramenta, para isso clique em Sign up. Dessa forma seus projetos 
serão gravados e você pode retornar a eles para estudos futuros ou apresentação para seus emprega-
dores e clientes.
A IDE possui os 3 componentes necessários para o desenvolvimento web: (1) um navegador de sistema 
de arquivos, (2) um editor de texto e (3) um terminal que exibe o resultado do nosso código (Figura 6 - 
Componentes da IDE Repl.it).
Você pode compartilhar seu código através do botão .
E pode visualizar o resultado clicando no botão .
É neste ambiente que você vai implementar o seu primeiro estudo de caso, um site para a divulgação de 
produtos. Esse site possui uma representação online dos produtos que são vendidos na loja física. Há 
quatro categorias (games, telefonia, PCs e eletrônicos) e vários produtos para cada categoria, onde os 
compradores online podem navegar. Os detalhes de cada produto devem ser fornecidos (ou seja, nome, 
imagem, descrição, preço).
Aprofunde-se
Uma aplicação web pode ser classificada de diferentes maneiras. O estudo de caso descrito 
acima, por exemplo, é um site de conteúdo. Para saber mais sobre as outras categorias, 
consulte o livro Desenvolvimento de Software II – Introdução ao desenvolvimento Web 
com HTLM, CSS, JavaScript e PHP. Página 9.
https://integrada.minhabiblioteca.com.br/books/9788582601969
Figura 6 - Componentes da IDE Repl.it.
Fonte: disponível em: https://repl.it/ Acesso em: 12 dez. 2019.
https://integrada.minhabiblioteca.com.br/books/9788582601969
https://repl.it/
Programação web | Unidade 1 - Introdução à internet e suas tecnologias
18
Aprofunde-se
Repl.it é um dos vários IDEs que você pode utilizar para desenvolver sites e/ou aplicações 
Web. Outro exemplo de IDE online é a Cloud9: https://aws.amazon.com/pt/cloud9/ Adquirida 
pela Amazon e totalmente integrada com os demais serviços da sua plataforma (AWS).
Também há IDEs offline, que você instala em seu computador, por exemplo: WebStorm, 
Visual Studio Code, Atom IDE, Brackets e Komodo Edit. Você encontra um estudo comparativo 
delas no endereço: http://tiny.cc/dmichz
O sistema deve operar em ambiente multi-browser com compatibilidade mínima nos seguintes 
ambientes: Google Chrome e Mozilla Firefox.
Abaixo, é exibido o protótipo da tela principal do site:
Caixa de texto Categoria 1
Logo
Categoria 2
Texto que introduz o negócio e o serviço para o 
usuário e permite ao usuário navegar para 
qualquer uma das quatro categorias de produtos.
[Imagem] [Imagem]
Categoria 3 Categoria 4
[Imagem] [Imagem]
© COPYRIGHT 2019, INSTITUTO CULTURAL NEWTON PAIVA FERREIRA LTDA.
Título do site
Figura 7 - Tela inicial do estudo de caso.
Fonte: elaborado pelo autor.
https://aws.amazon.com/pt/cloud9/ 
http://tiny.cc/dmichz 
Programação web | Unidade 1 - Introdução à internet e suas tecnologias
19
A página inicial do site éo ponto de entrada para o aplicativo. Ela introduz o negócio e o serviço para o 
usuário e permite ao usuário navegar para qualquer uma das quatro categorias de produtos. Ao clicar 
em uma das categorias, o usuário é enviado para a segunda tela:
Categoria 1
Categoria 2
Categoria 3
Categoria 4
Logo
© COPYRIGHT 2019, INSTITUTO CULTURAL NEWTON PAIVA FERREIRA LTDA.
Título do site
[Imagem do produto] [Nome do produto] [Preço] [Ação comprar]
[Descrição do produto]
[Nome do produto] [Preço] [Ação comprar]
[Descrição do produto]
[Nome do produto] [Preço] [Ação comprar]
[Descrição do produto]
[Nome do produto] [Preço] [Ação comprar]
[Descrição do produto]
[Nome do produto] [Preço] [Ação comprar]
[Descrição do produto]
[Imagem do produto]
[Imagem do produto]
[Imagem do produto]
[Imagem do produto]
A página de listagem de produtos exibe os produtos da categoria selecionada. A partir desta página, um 
usuário pode visualizar todas as informações do produto e adicionar qualquer um dos produtos listados 
no carrinho de compras. Um usuário também pode navegar para qualquer uma das categorias fornecidas.
Figura 8 - Listagem de produtos.
Fonte: elaborado pelo autor.
Programação web | Unidade 1 - Introdução à internet e suas tecnologias
20
Aprofunde-se
A fase inicial de um projeto de software envolve a coleta de informações para compreender 
o problema que deve ser resolvido, essa fase é chamada de levantamento de requisitos. 
Existem diversos métodos e técnicas para extrair as informações dos clientes a fim de 
atender as suas expectativas e necessidades. Dentre eles está a Prototipagem, um método 
simples e muito efetivo, que gera uma grande quantidade de informação visual e impede 
que fatores importantes não sejam esquecidos.
Se você gostou do método de Prototipagem, saiba que existem ferramentas que 
auxiliam na criação de protótipos interativos. Seguem abaixo alguns exemplos e os seus 
respectivos sites:
• Sketch: https://www.sketchapp.com/
• AdobeXD: http://tiny.cc/wwmchz
• Invision: https://www.invisionapp.com/
• Marvel: https://marvelapp.com/
• Zeplin: https://zeplin.io/
Para saber mais sobre a Prototipagem, consulte o livro Engenharia de Software, página 45: 
http://tiny.cc/tmjchz
https://www.sketchapp.com/
http://tiny.cc/wwmchz
https://www.invisionapp.com/
https://marvelapp.com/
https://zeplin.io/
http://tiny.cc/tmjchz
Programação web | Unidade 1 - Introdução à internet e suas tecnologias
21
CONSIDERAÇÕES FINAIS
Parabéns, você concluiu a unidade 1 desta disciplina e deu o primeiro passo para a criação de sites web. 
Nesta unidade você aprendeu:
• Sobre os desafios de se construir aplicações web e as vantagens de se ter esse tipo de apli-
cação na internet e/ou intranet;
• O formato das URIs/URLs;
• O que é um protocolo de comunicação e sua importância para os sistemas distribuídos;
• As etapas de uma requisição HTTP;
• Como registrar um domínio para o seu site.
Além de ter o primeiro contato com a IDE Repl.it e de se familiarizar com o estudo de caso que vamos 
construir nas próximas unidades. Agora, siga em frente!
Programação web | Unidade 1 - Introdução à internet e suas tecnologias
22
GLOSSÁRIO
Blog: é um espaço de conteúdo com uma estrutura mais simples, mas que pode conter vários recursos 
de mídia para apresentação das informações (HOSTGATOR, 2019).
CSS (Cascading Style Sheets): são utilizados para descrever a aparência ou apresentar o conteúdo da 
página web (MDN WEB DOCS, 2019).
Hotsites: sites com o objetivo de divulgar um produto/serviço/evento de maneira específica.
HTML (HyperText Markup Language): é a linguagem usada para descrever e definir o conteúdo de uma 
página web em um formato estruturado (MDN WEB DOCS, 2019).
IDE (Ambiente de Desenvolvimento Integrado): é um software que auxilia nas tarefas de desenvolvi-
mento de software.
Internet: a internet é, na verdade, um agrupamento de diversas redes WAN (ALVES, 2014).
Java: é uma linguagem de programação e plataforma computacional lançada pela primeira vez pela Sun 
Microsystems em 1995. Essa tecnologia é usada para desenvolver aplicações que tornam a web mais 
divertida e útil. O Java não é a mesma coisa que o javascript., que é uma tecnologia simples, usada para 
criar páginas web e só é executado no seu browser (JAVA, 2019).
JavaScript: é uma linguagem de script, desenvolvida em 1995 por Brendan Eich, da Netscape, com 
base em outra linguagem, denominada EMACScript. Inicialmente ela foi chamada de LiveScript. Essa 
linguagem é utilizada na criação de pequenas rotinas (scripts) que podem ser inseridas no corpo de 
documentos HTML (ALVES, 2014).
LAN: rede em que os dispositivos estão localizados em uma área delimitada e geralmente concen-
trados no mesmo local, como uma pequena empresa, um escritório ou uma casa. Essa rede possui uma 
distância de 10 metros a 1 quilômetro (ALVES, 2014).
Landing pages: em tradução livre “páginas de aterrissagem”, são sites com a função de contribuir para 
a execução e sucesso de uma campanha de marketing digital. A página deve ser leve, abrir rapidamente, 
possuir uma estrutura bem simples e manter seu foco na captação dos dados (HOSTGATOR, 2019).
MAN: rede em que os dispositivos existem em maior número (milhares) e ocupam uma área maior, 
como uma cidade. Essa rede possui uma distância de 3 a 10 quilômetros (ALVES, 2014).
.Net: é um ambiente de execução gerenciado para Windows que oferece uma variedade de serviços aos 
aplicativos em execução (MICROSOFT, 2019).
PHP: é uma linguagem de programação em formato de script, muito utilizada na construção de sites 
dinâmicos e que é executada no lado do servidor (server side) (ALVES, 2014).
WAN: rede em que os dispositivos não possuem delimitação de área, estendendo-se além de cidades, 
estados e países (ALVES, 2014).
WWW (World Wide Web ou Ampla Rede Mundial): chamada frequentemente somente pelo termo “web”, 
é um meio de comunicação global no qual usuários podem ler e escrever através de computadores 
conectados à internet.
Programação web | Unidade 1 - Introdução à internet e suas tecnologias
23
REFERÊNCIAS
ALVES, W. P. Desenvolvimento e Design de Sites. 1. ed. São Paulo: Érica, 2014.
HOSTGATOR. Tipos de sites, 2019. Disponível em: https://www.hostgator.com.br/blog/tipos-de-sites/ 
Acesso em: 09 nov. 2019.
JAVA. O que é o Java? Disponível em: https://java.com/pt_BR/about/whatis_java.jsp Acesso em: 11 out. 2019.
MDN WEB DOCS. Tecnologia para desenvolvedores web. Disponível em: https://developer.mozilla.org/
pt-BR/docs/Web Acesso em: 13 out. 2019.
MICROSOFT. Introdução ao .NET Framework, 2019. Disponível em: https://docs.microsoft.com/pt-br/
dotnet/framework/get-started/ Acesso em: 11 out. 2019.
MILETO, E.; BERTAGNOLLI, S. de C. Desenvolvimento de Software II: Introdução ao desenvolvimento 
Web com HTML, CSS, JavaScript e PHP. [S.l.]: Bookman, 2014.
PRESSMAN, R. S.; MAXIM, B. R. Engenharia de software: Uma abordagem profissional. 8. ed. São Paulo: 
Bookman, 2016.
WORLD WIDE WEB FONDATION. History of the Web. Disponível em: https://webfoundation.org/about/
vision/history-of-the-web/ Acesso em: 05 out. 2019.
https://www.hostgator.com.br/blog/tipos-de-sites/ 
https://java.com/pt_BR/about/whatis_java.jsp
https://developer.mozilla.org/pt-BR/docs/Web
https://developer.mozilla.org/pt-BR/docs/Web
https://docs.microsoft.com/pt-br/dotnet/framework/get-started/
https://docs.microsoft.com/pt-br/dotnet/framework/get-started/
https://webfoundation.org/about/vision/history-of-the-web/
https://webfoundation.org/about/vision/history-of-the-web/
Programação web | Unidade 2 - Introdução ao HTML
24
Unidade 2 
Introdução ao HTML
Objetivos de aprendizagem:
• Ensinar os conceitos básicos da linguagem HTML, além da estrutura básica de um documento HTML;
• Ensinar as principais tags do HTML e seus atributos;
• Ensinar a solucionar problemas nas páginas HTML através da inspeção de código pelo navegador.
Tópicos de estudo:
• Conceitos da linguagem HTML;
• Principais tags HTML;
• Solução de problemasnas páginas HTML.
Iniciando os estudos:
Para publicar um documento na web, você precisa de um servidor dedicado (que funciona 24 horas por dia 
interruptamente). É nesse servidor que você coloca sua página de internet, um arquivo de texto geralmente 
escrito na linguagem HTML. Seus usuários, distribuídos por todo o mundo, acessam sua página por meio 
de um navegador, que se comunica com o servidor através do protocolo HTTP. O servidor usa o protocolo 
HTTP para enviar o HTML ao cliente. O HTML informa ao navegador (Mozilla, Chrome, Microsoft Edge) como 
exibir o conteúdo ao usuário.
O infográfico abaixo ilustra todo o fluxo de requisição ao servidor e a apresentação de sua resposta:
Programação web | Unidade 2 - Introdução ao HTML
25
���������������������
��������������������
O que acontece quando você solicita uma página na web? A imagem abaixo apresenta todas as etapas que 
a sua solicitação percorre e todo o trabalho pelo seu navegador.
O usuário clica em um 
link no navegador.
O navegador monta uma 
requisição HTTP e envia 
para o servidor.
O navegador traduz o 
HTML em formato visual 
para o usuário.
O servidor monta uma resposta HTTP 
e a envia para o cliente. No corpo da 
resposta HTTP vai o documento HTML.
O servidor encontra a 
página solicitada.
HTTP request
HTTP request
HTTP response
HTML
Páginas HTML
HTML
Usuário Navegador Servidor
Veja que o navegador tem duas tarefas importantes, comunicar-se com o servidor e interpretar o código 
HTML, exibindo a página ao usuário. Por esse motivo, o termo cliente é utilizado tanto para falar do 
usuário quanto do navegador, já que o navegador faz aquilo que o usuário solicitou.
Esta unidade está focada nos fundamentos da linguagem HTML. Aqui você vai aprender o que é uma tag HTML, 
quais são as principais tags do HTML e como você pode identificar problemas no código de suas páginas.
Infográfico 1 - HTTP e HTML - Fluxo de requisição 
e resposta do servidor.
ED
+ 
Co
nt
en
t H
ub
 ©
 2
01
9
Programação web | Unidade 2 - Introdução ao HTML
26
1 CONCEITOS DA LINGUAGEM HTML
Assista
Acesse na plataforma o vídeo: Introdução ao HTML
A linguagem HTML (sigla de HyperText Markup Language – Linguagem de Marcação de Hipertexto) é 
responsável pela criação de documentos para a web, comumente conhecidos como páginas. Sua origem 
remonta a uma linguagem mais antiga denominada SGML (Standard Generalized Markup Language – 
em tradução livre, Linguagem Padrão de Marcação Generalizada) (ALVES, 2014).
O HTML está na versão 5, essa especificação da linguagem foi apresentada no início de 2008 pela World 
Wide Web Consortium, porém trata-se de um trabalho a seis mãos entre a Mozilla Fondation, Apple e a 
Opera Software, que em abril de 2007 enviou uma proposta a W3C para evoluir a linguagem HTML 4.01.
Os dois principais objetivos da nova versão são:
1. Adição de elementos, atributos e comportamentos;
2. Um conjunto maior de tecnologias que permite o desenvolvimento de aplicações e web sites 
mais diversos e poderosos.
Essa versão possibilitou a eliminação de plug-ins necessários aos navegadores, como o Adobe Flash ou 
Java Applet, para que o conteúdo multimídia pudesse ser apresentado. Essa versão foi tão bem aceita pela 
comunidade de desenvolvedores web, que rapidamente se tornou um tema favorito de artigos e livros.
Aprofunde-se
Você já viu o seriado Todo Mundo Odeia o Chris? No desenvolvimento web Todo Mundo 
Odeia o Adobe Flash, em 2010 Steve Jobs publicou no site da Apple um texto intitulado 
Pensamentos sobre o Flash onde listou algumas das razões para não utilizar o Adobe Flash 
em aparelhos como o iPad ou iPhone. No texto ele mesmo conclui que o HTML5 substitui 
o Adobe Flash e critica o fato de que os produtos da Adobe Flash são 100% proprietários.
“Nós realmente acreditamos que todos os padrões pertencentes à web deveriam ser 
abertos. Em vez de usar Flash, a Apple adotou o HTML5, CSS e JavaScript – todos padrões 
abertos” (G1, 2010).
Outro ponto destacado é a segurança: “Recentemente, a Symantec destacou o Flash por 
possuir um dos piores recordes de segurança em 2009. Nós também sabemos que o Flash 
é a razão número um para crash nos Macs” (G1, 2010).
Para saber mais, acesse o endereço: http://tiny.cc/gtz8gz
Programação web | Unidade 2 - Introdução ao HTML
27
Mas você deve entender que HTML não é uma linguagem de programação, ele não gera um programa 
autônomo como PHP, Java ou C#. HTML é mais bem classificado como uma linguagem de formatação 
de texto ou definição da estrutura do conteúdo de um documento.
Outro fator que distingue o HTML das outras linguagens é que ele não possui estruturas de controle, 
estruturas de repetição, procedimentos, funções ou chamada de rotinas do sistema operacional. Para 
se ter esse tipo de recurso é necessário utilizar a linguagem JavaScript, mas até o JavaScript possui limi-
tações impostas por motivos de segurança (ALVES, 2014).
De acordo com Alves (2014), algumas características da linguagem HTML podem ser destacadas:
• Independência de plataforma (hardware e software), o que torna possível a qualquer tipo de 
computador ler e interpretar o conteúdo de uma página escrita em HTML.
• Não é monopolizada por uma pessoa ou por uma empresa, privada ou do governo.
• Os arquivos resultantes são pequenos, vinculados entre si pelos hiperlinks definidos na estru-
tura dos documentos. O tamanho reduzido viabiliza a transmissão com velocidade aceitável, 
mesmo em meios de comunicação de baixa velocidade, como a conexão discada por linha 
telefônica comum.
• A linguagem foi desenvolvida para ser utilizada na web e não para um equipamento/sistema 
operacional específico.
• Não necessita de um editor especial, já que é possível utilizar o Bloco de notas, o WordPad ou 
qualquer outro programa de edição de texto capaz de gravar arquivos em um padrão de texto 
sem formatação, conhecido como “texto puro”.
A linguagem HTML consiste em uma série de elementos chamados de tags, que você usa para delimitar 
ou agrupar diferentes partes do conteúdo para que ele apareça ou atue de determinada maneira. As 
tags podem transformar uma palavra ou imagem num hiperlink, podem colocar palavras em itálico, 
podem aumentar ou diminuir a fonte e assim por diante (MDN, 2019). Por exemplo, veja o texto abaixo:
Quem nunca errou nunca experimentou nada novo. Albert Einstein
Se você deseja criar uma linha para o texto e outra para o autor, você pode utilizar a tag de parágrafo 
(<p>), conforme código abaixo:
<p>Quem nunca errou nunca experimentou nada novo.</p><p>Albert Einstein</p>
Seu navegador entende que deve criar dois parágrafos. Então o texto é exibido no seguinte formato:
Figura 1 - Navegador exibindo a tag de parágrafo.
ED
+ 
Co
nt
en
t H
ub
 ©
 2
01
9
Programação web | Unidade 2 - Introdução ao HTML
28
Como visto anteriormente, a sintaxe básica de um elemento HTML possui quatro partes:
1. Abrindo a tag: também chamada de tag de abertura, pois inicia o efeito do elemento HTML (no 
caso acima, onde começa o parágrafo), consiste no nome do elemento (no exemplo acima, p), 
envolvido entre os sinais < e >.
2. Fechando a tag: também chamado de tag de fechamento, pois indica onde o efeito do 
elemento acaba, segue o mesmo formato do elemento de abertura, porém com uma barra (/) 
antes do nome do elemento.
3. Conteúdo: conteúdo do elemento, que para a tag <p> é o texto do parágrafo.
4. Elemento: o elemento HTML é o conjunto dos itens tag de abertura + conteúdo + tag de 
fechamento.
Reflita
Você cria uma página HTML e pode esquecer de fechar uma tag corretamente. Qual é o 
resultado ao executar sua página no navegador?
Fique tranquilo, um dos erros mais comuns de iniciantes é esquecer de incluir uma tag 
de fechamento. Em alguns casos, o navegador consegue corrigir essa falha sozinho, 
porém nunca conte com isso, pois alguns elementos do HTML irão produzir resultados 
inesperados e/ou erros se você esquecer a tag de fechamento, por exemplo: quebra de 
layout ou erro na exibição deum componente.
Figura 2 - Sintaxe de um elemento HTML.
Fonte: elaborado pelo autor.
Programação web | Unidade 2 - Introdução ao HTML
29
Uma tag também pode ter um ou mais atributos:
Atributos são informações extras do elemento, em alguns casos podem alterar o desenho no navegador. Por 
exemplo, o atributo hidden faz com que o nome do autor (Albert Einstein) não seja exibido no navegador 
(ou seja, ele oculta o elemento). Hidden é um atributo com sintaxe simples, porém é possível ter atributos 
mais complexos, com um nome, um sinal de = e um valor envolvido por aspas. Conforme figura abaixo:
O atributo acima (com nome lang e valor pt-br) informa para o navegador que o conteúdo do parágrafo 
está em português do Brasil. Esse atributo foi utilizado para exemplo e não é necessariamente útil para 
o navegador, também não gera nenhum efeito no desenho do parágrafo. Veja que os atributos hidden 
e lang são separados por um espaço entre eles, essa é a forma correta de adicionar vários atributos a 
um elemento HTML.
Você também pode colocar elementos dentro de elementos, isso é chamado de elementos aninhados. Por 
exemplo, você pode enfatizar um texto importante dentro do parágrafo utilizando o elemento <strong>.
Figura 4 - Atributo lang da tag de parágrafo.
Fonte: elaborado pelo autor.
Figura 3 - Atributo hidden da tag de parágrafo.
Fonte: elaborado pelo autor.
Figura 5 - Elemento strong aninhado ao parágrafo.
Fonte: elaborado pelo autor.
Programação web | Unidade 2 - Introdução ao HTML
30
O resultado deste código no navegador é:
Fique atento a um detalhe, os elementos devem abrir e fechar na ordem correta. No exemplo acima, primeiro 
foi aberta a tag <p> e em seguida a tag <strong>. Portanto, você deve primeiro fechar a tag </strong> e 
depois a tag </p>.
Em resumo, a ordem é: <p> <strong> </strong> </p>. Caso você não siga a ordem correta, seu nave-
gador vai tentar resolver, o que pode levar a resultados inesperados.
Alguns elementos não possuem um conteúdo interno, eles são chamados de elementos vazios, nesse caso 
o elemento não possui uma tag de fechamento. Um exemplo de elemento vazio é a imagem (<img>), sua 
proposta é exibir uma imagem na página HTML no lugar onde o seu código é escrito, veja o exemplo abaixo:
Veja que a tag <img> possui dois atributos, src que especifica a URL da imagem e alt que fornece um 
texto alternativo para a imagem caso não seja possível visualizá-la (devido à conexão lenta, URL errada 
ou se o usuário usar um leitor de tela), mas não existe uma tag </img> para fechar o elemento, pois não 
existe a necessidade de conteúdo interno para o desenho das imagens.
Figura 6 - Resultado do elemento strong 
aninhado ao parágrafo.
Fonte: elaborado pelo autor.
Figura 7 - Elemento imagem <img>.
Fonte: elaborado pelo autor.
Programação web | Unidade 2 - Introdução ao HTML
31
O resultado do código acima é:
Aprofunde-se
Para mais informações sobre o elemento de imagem (<img>), consulte o livro 
Desenvolvimento e Design de Sites, 1ª Edição. Capítulo 4 – Imagens e Vínculos.
https://integrada.minhabiblioteca.com.br/books/9788536519012
Até o momento você viu elementos HTML individuais, porém um documento HTML básico deve conter 
a seguinte estrutura:
Figura 8 - Resultado do elemento <img>.
Fonte: elaborado pelo autor.
Figura 9 - Estrutura básica de um documento HTML.
Fonte: elaborado pelo autor.
https://integrada.minhabiblioteca.com.br/books/9788536519012
Programação web | Unidade 2 - Introdução ao HTML
32
<!DOCTYPE html> (linha 1): é uma instrução para o navegador informando em qual versão 
do HTML a página foi escrita. Nesse caso, você está informando que a página foi escrita em 
HTML5, última versão do HTML.
<html> (linha 2): início do conteúdo do documento HTML, também conhecido como elemento raiz.
<head></head> (linha 3 a 7): elemento que armazena todas as informações da página que 
não fazem parte do conteúdo, ou seja, não são visíveis para o cliente. Exemplo: título do docu-
mento, scripts, estilos, metainformações etc.
<meta charset=”utf-8”> (linha 4): especifica o conjunto de caracteres utilizados no documento. 
No caso, este documento está utilizando utf-8. Essa configuração pode resolver problemas na 
exibição de palavras com cedilha (ç) ou com acentuação.
<meta name=”viewport” content=”width=device-width”> (linha 5): fornece ao navegador 
instruções sobre as dimensões da página. No caso, a largura da página vai seguir a largura 
da tela do dispositivo. Dessa forma, você consegue criar páginas que atendam às dimensões 
de smartphones, tablets ou notebooks. Veja a diferença de uma página sem e com viewport, 
acessada por um smartphone.
Quem nunca errou nunca experimentou
nada novo.
Quem nunca errou nunca experimentou nada novo.
Com viewportSem viewport
<title> </title> (linha 6): define o título da página que aparece na guia do navegador. Essa 
informação também é utilizada quando a página é adicionada aos favoritos do navegador.
Figura 10 - Exemplo de página sem viewport e com 
viewport, todas acessadas por um smartphone.
Fonte: elaborado pelo autor.
Programação web | Unidade 2 - Introdução ao HTML
33
<body> </body> (linha 8 a 16): corpo do documento, contém todo o conteúdo visível ao cliente. 
Por exemplo: texto, imagens, vídeos etc.
</html> (linha 17): informa o navegador que o documento HTML chegou ao fim.
Se você quiser experimentar um pouco da linguagem HTML, acesse o código fonte do exemplo acima 
no endereço:
https://repl.it/@Fbricadede/primeira-pagina
Você pode ver como o navegador apresenta o documento clicando no botão e então, editar o 
código e visualizar as mudanças. Caso você cometa um erro, fique tranquilo: ao editar o código o projeto 
será copiado para a sua conta, dessa forma você sempre vai ter o código inicial no endereço acima.
Altere o título da página, crie elementos de parágrafo, edite os atributos dos elementos, altere a imagem 
da logo, crie imagens. É praticando que se aprende a programar.
Aprofunde-se
Para mais informações sobre o cabeçalho (<head>) e os metadados (<meta>) do HTML, 
acesse o site: https://developer.mozilla.org/pt-BR/docs/Aprender/HTML/Introducao_ao_HTML/
The_head_metadata_in_HTML
2 PRINCIPAIS TAGS DO HTML
Assista
Acesse na plataforma o vídeo: Principais tags do HTML
Nesta seção você vai aprender os principais elementos HTML para a construção das suas páginas.
2.1 CABEÇALHO E TÍTULO
O elemento de cabeçalho permite definir títulos e subtítulos como em um livro. Esse elemento possui 
6 níveis: <h1>, <h2>, <h3>, <h4>, <h5> e <h6>, todos colocam o estilo do texto em negrito, porém cada 
nível possui um determinado tamanho de fonte. O lado esquerdo da imagem abaixo, apresenta o código 
HTML com os 6 níveis de cabeçalho, já o lado direito, mostra o resultado desse código no navegador.
https://repl.it/@Fbricadede/primeira-pagina
https://developer.mozilla.org/pt-BR/docs/Aprender/HTML/Introducao_ao_HTML/The_head_metadata_in_HTML
https://developer.mozilla.org/pt-BR/docs/Aprender/HTML/Introducao_ao_HTML/The_head_metadata_in_HTML
Programação web | Unidade 2 - Introdução ao HTML
34
O código acima foi disponibilizado no endereço: https://repl.it/@Fbricadede/cabecalho-titulo
2.2 LINKS
Os elementos de link são encontrados em quase todas as páginas web. Os links permitem que o usuário 
navegue entre diferentes páginas da internet. Os links são definidos pela tag <a>, abreviação de âncora. 
Um exemplo de utilização é exibido abaixo:
O atributo href especifica o endereço de destino. O conteúdo é a parte visível no HTML. Ao clicar no texto 
do link, você será enviado para o endereço especificado no atributo href.
Figura 11 - Exemplo de cabeçalho e título.
Fonte: elaborado pelo autor.
Figura 12 - Exemplo da tag link.
Fonte: elaborado pelo autor.
https://repl.it/@Fbricadede/cabecalho-titulo
Programação web | Unidade 2 - Introdução ao HTML
35
Veja que o primeiro link possui um caminho completo, dessa forma você pode redirecionar o usuário 
para uma página externa ao seu site. Já osegundo link usa um caminho relativo, esse redireciona o 
usuário para o arquivo “pagina2.html” que está no mesmo site.
O código foi disponibilizado em: https://repl.it/@Fbricadede/exemplo-link
2.3 LISTA
Existem dois tipos de lista, as ordenadas (iniciadas com a tag <ol>) e as não ordenadas (iniciadas com a tag 
<ul>). Independentemente do tipo de lista, seus itens devem utilizar a tag <li>. Como o exemplo abaixo:
O código foi disponibilizado em: https://repl.it/@Fbricadede/exemplo-lista
Aprofunde-se
Para saber mais sobre a criação de listas em HTML, consulte o livro Desenvolvimento e 
Design de Sites, 1ª Edição. Capítulo 3 – Textos e Listas, página 43.
https://integrada.minhabiblioteca.com.br/books/9788536519012
Figura 13 - Exemplo de listas.
Fonte: elaborado pelo autor.
https://repl.it/@Fbricadede/exemplo-link
https://repl.it/@Fbricadede/exemplo-lista
https://integrada.minhabiblioteca.com.br/books/9788536519012
Programação web | Unidade 2 - Introdução ao HTML
36
2.4 TABELAS
Uma tabela HTML é definida com a tag <table>. Cada linha da tabela é definida com a tag <tr>. O cabe-
çalho da tabela é definido com a tag <th>, o que coloca os títulos em negrito e centralizados. Os dados 
da tabela são definidos com a tag <td>. Veja o exemplo abaixo:
O código acima foi disponibilizado em: https://repl.it/@Fbricadede/exemplo-tabela
Aprofunde-se
Existe uma filosofia para a não utilização de Tabelas HTML para criação de layouts. Seu 
nome é Tableless (Table + less = Tableless). Para entender o que é essa filosofia e se os 
seus sites são tableless, acesse o endereço: https://tableless.com.br/o-que-etableless/
Você pode utilizar o atributo colspan nas tags <th> ou <td>, para mesclar colunas da sua tabela. Para 
mesclar linhas, você deve utilizar o atributo rowspan também nas tags <th> ou <td>.
Outras tags úteis são:
• <caption>: define um título para a tabela.
• <thead>: agrupa linhas de cabeçalho em uma tabela.
Figura 14 - Exemplo de tabela.
Fonte: elaborado pelo autor.
https://repl.it/@Fbricadede/exemplo-tabela
https://tableless.com.br/o-que-etableless/
Programação web | Unidade 2 - Introdução ao HTML
37
• <tbody>: agrupa linhas de conteúdo em uma tabela.
• <tfoot>: agrupa linhas de rodapé em uma tabela.
Para ver um exemplo mais complexo de tabela, acesse o endereço: https://repl.it/@Fbricadede/tabela-completa
Reflita
Depois de aprender sobre as tabelas HTML e ver o quanto é fácil alinhar o conteúdo utilizando 
linhas e colunas, você pode sentir uma vontade incontrolável de organizar toda a estrutura 
do seu site (cabeçalho, menu, corpo e rodapé), inclusive utilizando tabelas dentro de tabelas. 
Em pouco tempo você vai ver que tabelas deixam seu código bagunçado, difícil de ler e de 
alterar. O motivo é que o elemento <table> não foi projetado para organizar a estrutura do 
seu site, esse elemento foi criado para exibir dados tabulares. Portanto, não use tabelas 
para organização de componentes na tela.
Aprofunde-se
Para saber mais sobre as tabelas HTML, consulte o livro Desenvolvimento e Design de 
Sites, 1ª Edição. Capítulo 5 – Tabelas e Formulários, página 61.
https://integrada.minhabiblioteca.com.br/books/9788536519012
https://repl.it/@Fbricadede/tabela-completa
https://integrada.minhabiblioteca.com.br/books/9788536519012
Programação web | Unidade 2 - Introdução ao HTML
38
2.5 LAYOUTS
A partir do HTML5, surgiram elementos que definem as diferentes partes do seu site, esses elementos são:
Cabeçalho (<header>)
Navegação (<nav>)
Rodapé (<footer>)
Conteúdo (<aside>)
Seção (<section>)
Artigo (<article>)
<header>: define um cabeçalho para o site ou seção. O cabeçalho contém o conteúdo introdu-
tório do site, como logotipo e título.
<nav>: define um espaço para os links de navegação da página.
<section>: define uma seção da página com elementos agrupados. Uma seção pode conter 
texto, imagem, tabela, vídeo etc.
<article>: define um texto independente, como uma matéria, um artigo etc.
<aside>: define o conteúdo principal do site.
<footer>: define um rodapé para o site. Pode conter informações sobre autor, direitos auto-
rais, outros links etc. 
<details>: define um conteúdo que pode ter seus detalhes ocultados ou exibidos conforme 
solicitação.
<summary>: usado com o elemento <details> para exibir um resumo ou legenda do conteúdo 
do elemento <details>.
Figura 15 - Elementos de layout do HTML5.
Fonte: elaborado pelo autor.
Programação web | Unidade 2 - Introdução ao HTML
39
No endereço https://repl.it/@Fbricadede/layout você encontra um exemplo de código que utiliza todos 
os elementos descritos acima. Veja que as tags não tratam posicionamento dos elementos na tela, elas 
apenas definem as diferentes partes da página.
Para definir tamanhos e posicionamento você deve utilizar a linguagem CSS.
2.6 FORMULÁRIOS E CAMPOS DE ENTRADA
Formulários HTML permitem a entrada de dados a partir de um navegador. São utilizados para obter 
informações do usuário e podem conter campos de texto, botões, caixas de seleção e lista de opções. A 
imagem abaixo apresenta um exemplo de formulário HTML.
As informações acima serão enviadas para o servidor web. Você pode receber e gravá-las em um banco 
de dados ou enviá-las por e-mail. O código do formulário acima foi disponibilizado em: https://repl.it/@
Fbricadede/formulario-login
Para criar um formulário, use o elemento:
<form>
...
Elementos do formulário (campo texto, botões etc.)
...
</form>
Para adicionar um campo texto ao formulário, você deve utilizar o elemento <input>. Conforme código 
abaixo:
<form>
<input />
</form>
Figura 16 - Exemplo de formulário HTML.
Fonte: elaborado pelo autor.
https://repl.it/@Fbricadede/layout
https://repl.it/@Fbricadede/formulario-login
https://repl.it/@Fbricadede/formulario-login
Programação web | Unidade 2 - Introdução ao HTML
40
O elemento <input> possui o atributo type, um importante atributo que define o tipo do campo de 
entrada. No código abaixo você vai criar dois tipos de campos, um de login e outro de senha.
<form>
 Login: <input type=”text”/>
 Senha: <input type=”password” />
</form>
A lista abaixo apresenta os diferentes tipos de campo texto que você pode utilizar:
<input type=”button”/>: define um botão. O HTML permite a criação de botões utilizando um elemento 
mais descritivo para essa tarefa, o elemento <button>. Veja o exemplo abaixo:
<form>
<input type=”button” value=”Botão”/>
 <button>Outro botão</button>
</form>
O resultado é muito semelhante, porém a segunda é mais clara para alguém que está lendo o seu 
código, fica a seu critério escolher:
<input type=”checkbox”/>: permite que o usuário selecione zero ou mais opções de um número limi-
tado de opções. Por exemplo:
<form>
Qual a sua linguagem preferida:
 <input type=”checkbox” name=”linguagem”/>JavaScript
 <input type=”checkbox” name=”linguagem”/>C#
 <input type=”checkbox” name=”linguagem”/>PHP
 <input type=”checkbox” name=”linguagem”/>Java
</form>
Você pode utilizar o atributo checked para indicar quais campos devem ser pré-selecionados quando a 
página for carregada.
<input type=”color”/>: define um campo para seleção de uma cor.
<input type=”date”/>: define um campo para seleção de uma data. Você pode usar os atributos min e 
max para atribuir restrições às datas, por exemplo:
Figura 17 - Exemplo de botões.
Fonte: elaborado pelo autor.
Programação web | Unidade 2 - Introdução ao HTML
41
<form>
Data nascimento:
<input type=”date” min=”2000-01-01” max=”2018-12-31” />
</form>
<input type=”datetime-local”/>: define um campo para seleção de uma data e hora.
<input type=”email”/>: define um campo para entrada de e-mail. Dependendo do navegador, o 
formato do e-mail é validado automaticamente. Já alguns smartphones apresentam a tecla .com que 
facilita a digitação de e-mails.
<input type=”file”/>: define um campo para a seleção de arquivos para upload para o servidor.
<input type=”hidden”/>: define um campo invisível para o usuário, porém podearmazenar algum 
valor da sua página.
<input type=”image”/>: define uma imagem como um botão de envio.
<input type=”month”/>: define um campo da entrada de mês e ano.
<input type=”number”/>: define um campo de entrada numérico. Você pode restringir o valor mínimo 
e máximo utilizando os respectivos atributos min e max. Por exemplo:
<form>
Escolha um número de 1 a 10:
<input type=”number” min=”1” max=”10” />
</form>
<input type=”password”/>: define um campo senha.
<input type=”radio”/>: permite que o usuário selecione uma opção dentro de um número limitado. 
Por exemplo:
<form>
<input type=”radio” name=”sexo” checked/>Masculino
<input type=”radio” name=”sexo”/>Feminino
<input type=”radio” name=”sexo”/>Outros
</form>
O resultado é:
Veja que o primeiro campo “Masculino” possui um atributo checked, esse atributo indica que esse 
campo deve ser pré-selecionado quando a página é carregada.
Figura 18 - Exemplo de input radio.
Fonte: elaborado pelo autor.
Programação web | Unidade 2 - Introdução ao HTML
42
<input type=”range”/>: cria um controle deslizante para a seleção de um determinado número em 
um limite. Você define o limite utilizando os atributos min e max. O incremento do valor é definido pelo 
atributo step.
<form>
0 <input type=”range” min=”0” max=”100” step=”10”/> 100
</form>
O resultado é:
<input type=”reset”/>: cria um botão que permite redefinir o valor de todos os campos do formulário 
para o seu valor padrão.
<input type=”search”/>: define um campo de pesquisa que se comporta como um campo de texto 
simples.
<input type=”submit”/>: cria um botão que permite enviar todos os dados do formulário para uma 
página no servidor. A página é especificada no atributo action do formulário, conforme exemplo abaixo:
<form action=”/principal.html”>
<p>
Campo texto: <input type=”text”/>
</p>
<input type=”submit” type=”Enviar”/>
</form>
Se o atributo action não for informado, as informações serão enviadas para a página atual.
Você também pode utilizar o atributo target do formulário para definir se os dados devem ser enviados 
em uma nova aba do navegador (valor _blank) ou na janela atual (valor _self). O valor padrão é _self.
Por padrão, o formulário utiliza o método GET do protocolo HTTP para enviar as informações para o 
servidor, nesse método as informações são passadas na URL. Exemplo:
https://formulario-login--fbricadede.repl.co/principal.html?login=fabrica&senha=123
Veja que os dados ficam visíveis no navegador para o nosso usuário (inclusive a senha). Para evitar isso, 
você pode trocar para o método POST do HTTP. Para isso utilize o atributo method do formulário com 
o valor post.
Segue com os atributos target e method:
Figura 19 - Exemplo de controle deslizante.
Fonte: elaborado pelo autor.
https://formulario-login--fbricadede.repl.co/principal.html?login=fabrica&senha=123
Programação web | Unidade 2 - Introdução ao HTML
43
<form action=”/principal.html” target=”_blank” method=”POST”>
<p>
Login: <input type=”text” name=”login”/>
</p>
<p>
Senha: <input type=”password” name=”senha”/>
</p>
<p>
<input type=”reset” value=”Limpar”/>
<input type=”submit” value=”Enviar”/>
</p>
</form>
Reflita
Ao desenvolver seus formulários, você pode ser um pouco negligente na escolha do 
método de envio (GET ou POST).
Isso pode gerar problemas na sua aplicação ou na perda de uma funcionalidade muito útil 
para o seu usuário, a de adicionar a URL nos favoritos do navegador.
Gaste um tempo analisando o método de envio. A checklist abaixo pode te auxiliar:
GET
Neste método, os dados do formulário ficam visíveis na URL do navegador em pares de 
(nome=valor). Você deve usar esse método quando:
• Não existe risco de ultrapassar o limite de caracteres da URL (2048 caracteres);
• Os dados não são confidenciais (pois eles ficam visíveis no navegador);
• For útil (para os usuários) registrar a URL nos favoritos.
POST
Neste método os dados não ficaram visíveis. Você deve usar esse método quando:
• É necessário enviar grandes quantidades de dados (o POST não possui limitações 
de tamanho);
• Não é necessário registrar nos favoritos;
• As informações são confidenciais.
<input type=”tel”/>: define um campo para a entrada de telefone. Você pode utilizar o atributo 
pattern para validar se o formato do telefone está correto. Por exemplo:
<form action=”/principal.html” target=”_blank” method=”POST”>
<input type=”tel” pattern=”9[0-9]{4}-[0-9]{4}”/>
</form>
Programação web | Unidade 2 - Introdução ao HTML
44
No exemplo acima, o navegador não vai permitir enviar números que não são de celulares, exemplo: 
98811-2233 (vai enviar), 3388-8899 (não vai enviar).
<input type=”text”/>: define um campo de texto simples.
<input type=”time”/>: define um campo para entrada de hora e minuto.
<input type=”url”/>: define um campo para a entrada de uma URL. Dependendo do navegador, esse 
campo é validado automaticamente. Alguns smartphones apresentam a tecla .com que facilita a digi-
tação da URL.
<input type=”week”/>: define um campo para a entrada de semana e ano.
Os campos de entrada de texto <input> possuem outros importantes atributos, abaixo você aprenderá alguns:
Outros atributos importantes do elemento <input>
Atributo Descrição
disabled Define que o campo está desabilitado. 
readonly Define que o campo é somente leitura.
maxlenght Limita a quantidade máxima de caracteres que o campo aceita.
required Define que o campo é obrigatório. Dependendo do navegador, ao tentar enviar os dados, uma 
mensagem é exibida para o usuário.
size Define o tamanho do campo com base em caracteres.
value Define um valor para o campo. No caso dos botões submit, reset e button, o atributo value define o 
texto dos botões. 
placeholder Especifica uma dica para o usuário sobre como ele deve preencher o campo. A dica é exibida enquanto o 
campo não possui valor, assim que o usuário insere o primeiro caractere ele desaparece.
name Identifica a informação para que ela seja acessada no servidor.
id Define um identificador para o campo em todo o documento HTML. O valor deve ser único.
Reflita
Os tipos color, date, datetime-local, email, month, number, range, search, tel, 
time, url e week foram introduzidos no HTML5. Caso você execute sua página em um 
navegador que não suporta o HTML5, esses elementos serão exibidos como um campo 
de texto simples (“text”). Esse não é um problema, pois as versões atuais dos navegadores 
Mozilla, Chrome, Edge e Opera possuem suporte ao HTML5. Porém, tome cuidado com 
as diferenças de comportamento nos navegadores. Por exemplo, avalie como os campos 
date, datetime-local e month são apresentados no Mozilla e no Chrome. Veja também 
como o campo email é validado no Mozilla e no Chrome.
O elemento <input> já resolve a maioria dos seus problemas, mas o HTML não se limita a eles. Agora você 
vai aprender sobre os elementos diferentes dos <input>. O primeiro é o campo de seleção (<select>):
Tabela 1 - Outros atributos importantes 
do elemento <input>.
Programação web | Unidade 2 - Introdução ao HTML
45
Esse campo exibe uma lista suspensa, os elementos da lista são definidos pelo elemento <option>. Para 
definir uma das opções como selecionada, utilize o atributo selected.
<form>
Região do Brasil:
 <select name=”uf”>
 <option>Norte</option>
 <option>Nordeste</option>
 <option>Centro-Oeste</option>
 <option selected>Sudeste</option>
 <option>Sul</option>
 </select>
</form>
Por padrão, o usuário pode selecionar somente um elemento da lista. Para permitir a seleção de múlti-
plos elementos, utilize o atributo multiple.
<form>
Qual a sua matéria preferida:
 <select name=”disciplinas” multiple size=”5”>
 <option>Linguagens de programação</option>
 <option>Programação para dispositivos móveis</option>
 <option>Algoritmos</option>
 <option selected>Programação web</option>
 <option>Outras</option>
 </select>
</form>
Figura 20 - Exemplo decampo de seleção.
Fonte: elaborado pelo autor.
Programação web | Unidade 2 - Introdução ao HTML
46
O resultado do código acima é:
Veja que é possível definir a quantidade de elementos exibidos utilizando o atributo size. No exemplo 
acima definimos que todos os cinco elementos devem ser exibidos.
O próximo elemento <datalist> é uma das novidades do HTML5, ele é semelhante ao <select>, porém à 
medida que o usuário digita no campo, a lista é filtrada automaticamente. Veja o exemplo:
<form>
Selecione um navegador:
 <input list=”navegadores”/>
 <datalist id=”navegadores”>
 <option value=”Internet Explorer”>
 <option value=”Firefox”>
 <option value=”Chrome”>
 <option value=”Opera”>
 <option value=”Safari”>
 </datalist>
</form>
O resultado do código acima é:
Figura 21 - Exemplo de campo de seleção múltipla.
Fonte: elaborado pelo autor.
Figura 22 – Exemplo de datalist.
Fonte: elaborado pelo autor.
Programação web | Unidade 2 - Introdução ao HTML
47
Veja que o elemento <input> é necessário para o funcionamento do componente.
Primeiro, você deve criar a lista (<datalist>) com as opções possíveis (<option>). Para relacionar o campo 
texto aos dados, você deve ter o mesmo valor para o atributo id (<datalist>) e o atributo list (<input>).
Por fim, o elemento <textarea> define um campo de entrada que permite a digitação de várias linhas, 
coisa que o elemento <input> não permite. Por exemplo:
<form>
Observações:<br/>
 <textarea name=”observacao” rows=”10” cols=”30”>Este é o valor padrão para o 
campo observação</textarea>
</form>
O resultado é:
O atributo rows define a quantidade de linhas visíveis, cols define a quantidade de colunas. No Chrome 
você pode alterar o tamanho do componente apenas arrastando o canto inferior direito.
Um formulário completo, com todos os elementos descritos nesta seção, foi disponibilizado em:
https://repl.it/@Fbricadede/formulario-completo
Figura 23 – Exemplo de textarea.
Fonte: elaborado pelo autor.
https://repl.it/@Fbricadede/formulario-completo
Programação web | Unidade 2 - Introdução ao HTML
48
Aprofunde-se
O elemento canvas é talvez a maior novidade apresentada pelo HTML5, pois permite 
a construção de elementos gráficos na página web com comandos simples. Para saber 
mais sobre esse elemento, consulte o livro Desenvolvimento e Design de Sites, 1ª Edição. 
Capítulo 2 – Linguagem HTML, página 34. 
https://integrada.minhabiblioteca.com.br/books/9788536519012
3 SOLUÇÃO DE PROBLEMAS NAS PÁGINAS HTML
Assista
Acesse na plataforma o vídeo: Depurando o HTML
Aprofunde-se
Para mais informações sobre o serviço da W3C para validação de documentos, acesse os 
endereços:
https://medium.com/@erretres/codepen-and-w3c-markup-validation-service-fbb62f1de568
https://validator.w3.org/docs/
Você viu que escrever código em HTML é muito fácil, mas alguns erros podem acontecer à medida que 
suas páginas começam a ficar maiores e mais complexas. Esta seção apresenta algumas ferramentas 
que podem te ajudar a encontrar e corrigir erros nas suas páginas HTML.
A linguagem HTML é muito mais permissiva do que outras de programação, ou seja, um navegador 
exibe a página mesmo que ela tenha erros de sintaxe. Os navegadores possuem regras para interpretar 
as marcações que estão incorretas, claro que isso pode gerar um resultado que você não esperava, em 
resumo, um problema na sua página. O site MDN web docs explica o motivo do HTML ser assim:
O HTML é analisado permissivamente porque, quando a web foi criada, foi decidido que permitir 
que as pessoas publicassem seu conteúdo era mais importante do que garantir que a sintaxe esti-
vesse absolutamente correta. A web provavelmente não seria tão popular como é hoje, se tivesse 
sido mais rigorosa desde o início (MDN, 2019).
https://integrada.minhabiblioteca.com.br/books/9788536519012
https://medium.com/@erretres/codepen-and-w3c-markup-validation-service-fbb62f1de568
https://validator.w3.org/docs/
Programação web | Unidade 2 - Introdução ao HTML
49
Veja na prática essa natureza permissiva do HTML. Acesse o código: https://repl.it/@Fbricadede/depurando-html
Esse código possui três erros comuns: elementos não fechados, elementos mal aninhados e atributos 
não fechados.
Agora abra o código em um navegador para ver o seguinte resultado:
Figura 24 - Exemplo de depuração HTML.
Fonte: elaborado pelo autor.
Figura 25 - Visualização do exemplo de depuração do HTML.
Fonte: elaborado pelo autor.
https://repl.it/@Fbricadede/depurando-html
Programação web | Unidade 2 - Introdução ao HTML
50
Os problemas da página são:
• Parágrafo e listas não possuem tags de fechamento: conforme imagem acima, isso não afetou 
o desenho da página, pois o navegador inferiu onde cada elemento deveria terminar.
• <strong> não possui tag de fechamento: veja que neste caso o navegador não conseguiu 
resolver e todo o texto foi destacado.
• Elementos mal aninhados: <strong><em></strong></em>. Neste caso, foi aplicado o estilo 
negrito e itálico a um texto que não deveria ter formatação.
• Valor do atributo href não possui as aspas de fechamento: neste caso o elemento link não foi 
exibido na tela.
Navegadores modernos possuem um conjunto de ferramentas para inspecionar código HTML, como 
a DevTools, ferramenta disponível para Internet Explorer, Firefox, Chrome, Safari e Opera. No Firefox, 
você pode ativar a ferramenta de três formas:
• Usando teclado: Ctrl + Shift + I.
• Usando o menu do navegador: Menu > Web Developer > Inspector.
• Usando o mouse: clique com o botão direito na página e selecione “Inspect Element” no menu 
que aparece.
Ao ativar a ferramenta DevTools, você vai ver o resultado do HTML em uma página em execução. 
Conforme imagem abaixo:
A ferramenta disponibiliza três funcionalidades para lhe ajudar a depurar o HTML:
1. Selecionar elemento da página.
2. Pesquisar elemento no HTML.
3. Adicionar nos elementos.
Figura 26 - Inspecionando o HTML com o DevTools.
Fonte: elaborado pelo autor.
Programação web | Unidade 2 - Introdução ao HTML
51
1
32
Ao clicar em algum elemento com o botão direito do mouse, outras funcionalidades são exibidas:
Por exemplo, permite que você crie elementos no HTML (Create New Node), duplique (Duplicate Node) 
ou exclua um elemento selecionado (Delete Node). Você também pode realizar alterações no código 
exibido pelo navegador (Edit As HTML), os resultados são exibidos imediatamente.
Figura 27 - Funcionalidades para depurar HTML.
Fonte: elaborado pelo autor.
Figura 28 - Outras funcionalidades da ferramenta DevTools.
Fonte: elaborado pelo autor.
Programação web | Unidade 2 - Introdução ao HTML
52
Você pode fazer todas as alterações que quiser usando o DevTools, porém essas alterações não são salvas 
no seu HTML. Se você teclar Ctrl + F5, sua página será recarregada e todas as alterações serão perdidas.
O Inspect é apenas para identificar problemas e simular correções. Ao final, as correções devem ser 
replicadas para o seu arquivo HTML.
Utilizando o Inspect, você verá como o navegador resolveu os erros de HTML. Em resumo:
• Os parágrafos e itens da lista receberam tags de fechamento.
Figura 29 - Editando o HTML diretamente na página.
Fonte: elaborado pelo autor.
Figura 30 - Navegador resolvendo erros de parágrafos e itens da lista.
Fonte: elaborado pelo autor.
Programação web | Unidade 2 - Introdução ao HTML
53
• O elemento <strong> foi fechado antes do início do próximo <li>, deixando todo o texto em negrito.
• Já o aninhamento incorreto, foi corrigido pelo navegador da seguinte forma:
• O elemento de link foi excluído por completo do HTML.
Figura 31 - Navegador resolvendo erros do elemento <strong>.
Fonte: elaborado pelo autor.
Figura 32 - Navegador resolvendo erros de aninhamento incorreto.
Fonte: elaborado pelo autor.
Figura 33 - Navegador não desenha o elemento de link.
Fonte: elaborado pelo autor.
Programação web | Unidade 2 - Introdução ao HTML
54
A verificação acima foi feita utilizandoo Firefox, outros navegadores podem levar a resultados diferentes.
Reflita
Você já sabe que existem diferenças entre os navegadores, porém as diferenças estão 
diminuindo a cada ano. Mas a execução dos testes acima em um Internet Explorer ou no 
Chrome podem ter um resultado diferente?
Para obter essa resposta, execute o código HTML nos navegadores e inspecione o código 
utilizando o DevTools.
O DevTools deve ser utilizado para a verificação de erros pontuais no código. Para uma validação mais 
completa do seu HTML, com o objetivo de verificar se está bem escrito, a melhor estratégia é utilizar o 
serviço da W3C para validação de documentos, que se encontra no endereço: https://validator.w3.org/
O funcionamento é simples, você fornece a URL da sua página (aba Validate by URI) ou pode fazer o 
upload do seu arquivo HTML (aba Validade by File Upload) ou pode inserir o código diretamente na ferra-
menta (aba Validade by Direct Input).
Para realizar a validação no código descrito acima, digite a URL do seu projeto no campo “Address”, por 
exemplo: https://repl.it/@Fbricadede/depurando-html Em seguida, clique em “Check”. A seguinte lista de 
erros e avisos é exibida:
Figura 34 - W3C Markup Validation Service.
Fonte: disponível em: https://validator.w3.org/ Acesso em: 17 dez. 2019.
https://validator.w3.org/
https://repl.it/@Fbricadede/depurando-html
https://validator.w3.org/
Programação web | Unidade 2 - Introdução ao HTML
55
Veja que a ferramenta descreve o erro e a linha onde ele ocorre. As mensagens podem não ser claras a 
princípio, mas com o tempo você vai conseguir identificar rapidamente o erro.
A grande vantagem dessa ferramenta é que em poucos segundos você pode validar um documento 
HTML grande e complexo. Em seguida, você pode utilizar a ferramenta DevTools para investigar cada 
um dos erros.
Aprofunde-se
Para mais informações sobre a ferramenta DevTools, acesse o endereço:
https://developer.mozilla.org/pt-BR/docs/Learn/Common_questions/ferramentas_de_
desenvolvimento_do_navegador
Figura 35 - Lista de erros apresentados pela ferramenta.
Fonte: elaborado pelo autor.
https://developer.mozilla.org/pt-BR/docs/Learn/Common_questions/ferramentas_de_desenvolvimento_do_navegador
https://developer.mozilla.org/pt-BR/docs/Learn/Common_questions/ferramentas_de_desenvolvimento_do_navegador
Programação web | Unidade 2 - Introdução ao HTML
56
CONSIDERAÇÕES FINAIS
Parabéns, você concluiu a unidade 2 desta disciplina e já pode iniciar a construção do estudo de caso.
Nesta unidade você se familiarizou com a linguagem HTML e adquiriu um pouco de prática escrevendo 
alguns elementos HTML na ferramenta Repl.it. Também aprendeu a utilizar as ferramentas de depu-
ração para encontrar problemas em HTML. Continue firme nos estudos!
Programação web | Unidade 2 - Introdução ao HTML
57
GLOSSÁRIO
C#: é uma linguagem elegante, orientada a objeto e fortemente tipada, que permite que os desenvol-
vedores criem uma variedade de aplicativos robustos e seguros executados no .NET Framework. Você 
pode usar C# para criar aplicativos de cliente do Windows, serviços Web XML, componentes distribuídos, 
aplicativos cliente-servidor, aplicativos de banco de dados e muito, muito mais (MICROSOFT, 2015).
CSS (Cascading Style Sheets): é uma linguagem declarativa que controla a apresentação visual de páginas 
web em um navegador. O navegador aplica as declarações de estilo CSS aos elementos selecionados 
para exibi-los apropriadamente. Uma declaração de estilo contém as propriedades e seus valores, que 
determinam a aparência de uma página web (MDN, 2019).
HTTP (Hypertext Transfer Protocol): é um protocolo de camada de aplicação para transmissão de docu-
mentos hipermídia, como o HTML. Foi desenvolvido para comunicação entre navegadores web e servi-
dores web, porém pode ser utilizado para outros propósitos também. Segue um modelo cliente-servidor 
clássico, onde um cliente abre uma conexão, executa uma requisição e espera até receber uma resposta. 
É também um protocolo sem estado ou stateless protocol, que significa que o servidor não mantém 
nenhum dado entre duas requisições (state). Apesar de ser frequentemente baseado em uma camada 
TCP/IP, pode ser utilizado em qualquer camada de transporte confiável, ou seja, um protocolo que não 
perde mensagens silenciosamente como o UDP (MDN, 2019).
Internet: a internet é, na verdade, um agrupamento de diversas redes WAN (ALVES, 2014).
Java: é uma linguagem de programação e plataforma computacional lançada pela primeira vez pela Sun 
Microsystems em 1995. Essa tecnologia é usada para desenvolver aplicações que tornam a web mais 
divertida e útil. O Java não é a mesma coisa que o JavaScript, que é uma tecnologia simples usada para 
criar páginas web e só é executado no seu browser (JAVA, 2019).
PHP: é uma linguagem de programação em formato de script, muito utilizada na construção de sites 
dinâmicos e que é executada no lado do servidor (server side) (ALVES, 2014).
Tag: em HTML a tag é usada para criar um elemento. O nome de um elemento HTML é o nome usado 
entre colchetes angulares como <p> para criar parágrafos. Note que ao fechar uma tag ela tem uma 
barra antes de seu nome (</p>) e que em elementos vazios a tag final não é requerida e nem permitida. 
Se os atributos não forem mencionados, os valores padrões serão usados em cada caso (MDN, 2019).
URL/URI: a URI (Uniform Resource Identifier ou Identificador Uniforme de Recursos) é uma string 
(sequência de caracteres) que se refere a um recurso. A mais comum é a URL, que identifica o recurso 
localizando-o na web. URNs, em contraste, referem-se a um recurso pelo nome, em dado namespace. 
Ex.: o ISBN de um livro (MDN, 2019).
Programação web | Unidade 2 - Introdução ao HTML
58
REFERÊNCIAS
ALVES, W. P. Desenvolvimento e Design de Sites. 1. ed. São Paulo: Érica, 2014.
G1. Steve Jobs explica razões para não usar Flash em iPhone e iPad, 2010. Disponível em: http://
g1.globo.com/tecnologia/noticia/2010/04/steve-jobs-explica-razoes-para-nao-usar-flash-em-iphone-e-ipad.
html Acesso em: 25 nov. 2019.
JAVA. O que é o Java? Disponível em: https://java.com/pt_BR/about/whatis_java.jsp Acesso em: 11 out. 2019.
MDN. Debugging HTML. Disponível em: https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduc-
tion_to_HTML/Debugging_HTML Acesso em: 25 out. 2019.
MDN. Glossário. Disponível em: https://developer.mozilla.org/pt-BR/docs/Glossario Acesso em: 24 out. 2019.
MDN. HTML básico. Disponível em: https://developer.mozilla.org/pt-BR/docs/Aprender/Getting_started_
with_the_web/HTML_basico Acesso em: 20 out. 2019.
MDN. HTTP. Disponível em: https://developer.mozilla.org/pt-BR/docs/Web/HTTP Acesso em: 20 out. 2019.
MDN. O que está no cabeçalho? Metadados em HTML. Disponível em: https://developer.mozilla.org/
pt-BR/docs/Aprender/HTML/Introducao_ao_HTML/The_head_metadata_in_HTML Acesso em: 21 out. 2019.
MICROSOFT. Introdução à linguagem C# e ao .NET Framework, 2015. Disponível em: https://docs.
microsoft.com/pt-br/dotnet/csharp/getting-started/introduction-to-the-csharp-language-and-the-net-fra-
mework Acesso em: 24 out. 2019.
MILETO, E. ; BERTAGNOLLI, S. D. C. Desenvolvimento de Software II: Introdução ao desenvolvimento 
web com HTML, CSS, JavaScript e PHP. Porto Alegre: Bookman, 2014 
TABLELESS. O que é Tableless?, 2005. Disponível em: https://tableless.com.br/o-que-etableless/ Acesso 
em: 02 nov. 2019.
W3C. Documentation for the W3C Markup Validator. Disponível em: https://validator.w3.org/docs/ 
Acesso em: 25 out. 2019.
W3SCHOOL. HTML Element Reference, 2019. Disponível em: https://www.w3schools.com/tags/default.
asp Acesso em: 20 out. 2019.
http://g1.globo.com/tecnologia/noticia/2010/04/steve-jobs-explica-razoes-para-nao-usar-flash-em-iphone-e-ipad.html
http://g1.globo.com/tecnologia/noticia/2010/04/steve-jobs-explica-razoes-para-nao-usar-flash-em-iphone-e-ipad.html
http://g1.globo.com/tecnologia/noticia/2010/04/steve-jobs-explica-razoes-para-nao-usar-flash-em-iphone-e-ipad.html
https://java.com/pt_BR/about/whatis_java.jsp

Continue navegando