• Design
  • Introdução ao HTML
  • Introdução

HTML: Introdução#

Agora que já desenvolvemos alguns protótipos de baixa fidelidade, vamos usar a linguagem HTML para começar a transformar o conjunto de fluxos de tela em protótipos digitais.

E como é essa linguagem? Para ver um exemplo, abra qualquer página em seu navegador de Internet (inclusive esta), clique com o botão direito em qualquer parte dessa página (exceto imagens) e selecione a opção de exibir código-fonte.

Atenção

A imagem abaixo é do navegador Google Chrome. Em outros navegadores o menu pode ser diferente, mas todos disponibilizam a opção de exibir código-fonte.

Acessando o código fonte de uma página

Exercise 1

Abra o código fonte desta página e procure pelo texto <!-- RESPOSTA DO EXERCÍCIO 1. Qual das opções abaixo está presente nessa linha?

Answer

Os navegadores possuem diversas ferramentas que auxiliam o desenvolvimento web. Aprender a explorar esses recursos é um passo importante para evoluir tecnicamente.

O significado de "código-fonte" aqui é o mesmo que em programação Python: um arquivo (ou conjunto de arquivos) que o desenvolvedor precisa escrever para construir o produto, mas que o usuário desse produto não precisa ler. Aliás, nem precisa saber que existe.

A diferença é que produtos escritos em Python são programas, algo feito para o computador rodar, enquanto produtos escritos em HTML são documentos, algo feito para o computador mostrar.

Isso significa que o modo de pensar muda totalmente de uma linguagem para outra. Enquanto em Python temos "ordens", por exemplo "imprima o texto 'Hello World'",

print('Hello World')

em HTML temos um texto e "marcadores" em cima desse texto, indicando que certas partes dele possuem significados particulares. Por exemplo, o código HTML

<h1>
    Introdução a HTML
</h1>
<p>
    Agora que já desenvolvemos alguns protótipos de
    baixa fidelidade, vamos usar a <em>linguagem HTML</em>
    para começar a transformar o conjunto de fluxos
    de tela em <em>protótipos digitais</em>.
</p>

é o texto

Introdução a HTML

Agora que já desenvolvemos alguns protótipos de
baixa fidelidade, vamos usar a linguagem HTML
para começar a transformar o conjunto de fluxos
de tela em protótipos digitais.

com os marcadores <h1>, </h1>, <p>, </p>, <em>, </em> em cima, indicando:

  • "o que está entre <h1> e </h1> é título;"
  • "o que está entre <p> e </p> é parágrafo;"
  • "o que está entre <em> e </em> tem ênfase."

Exercise 2

Qual das afirmações abaixo está correta?

Answer

Dizemos que HTML é uma linguagem de marcação (markup em inglês), pois definimos "marcadores", e Python é uma linguagem de programação, pois definimos "ordens".

Abra um editor de texto, copie e cole o exemplo de código HTML acima e salve como um arquivo chamado exemplo.html. Depois de salvar, abra o mesmo arquivo em seu navegador de internet.

Atenção

Use um editor de texto simples como o Notepad ou um editor de código como o Visual Studio Code, não um editor de texto formatado como o Word, e não esqueça da extensão html. Se você usar um editor como o Word ou salvar com outra extensão, as instruções acima não vão funcionar.

O navegador Chrome mostra esse arquivo como abaixo.

Visualização do exemplo de HTML no Chrome

Repare que o texto "Introdução a HTML", que está entre <h1> e </h1>, ficou maior e em negrito, enquanto os textos "linguagem HTML" e "protótipos digitais", que estão entre <em> e </em>, ficaram em itálico. O navegador reconheceu os marcadores e aplicou regras de formatação:

  • títulos são maiores e em negrito;
  • ênfases são em itálico.

Este é um bom momento para enfatizar um ponto muito importante: essas regras de formatação são do Chrome e não do HTML. Ou seja:

  • os marcadores <h1> e </h1> indicam apenas que algo é título, enquanto o navegador é quem estabelece que títulos são maiores e em negrito;
  • os marcadores <em> e </em> indicam apenas que algo tem ênfase, enquanto o navegador é quem estabelece que ênfases são em itálico.

E, de fato, esse é o jeito certo de fazer as coisas! No desenvolvimento front-end moderno, um código HTML não tem regras de formatação. O propósito desse código é apenas dar significados a partes do texto. Transformar esses significados em formatações é papel do navegador.

Eu não consigo enfatizar o suficiente o quanto esse ponto é importante. É, talvez, o ponto de desenvolvimento front-end mais importante da disciplina: quando você escreve código HTML, deve pensar sempre em semântica e nunca em visual. Se você está escrevendo HTML pensando "esta parte é maior e em negrito" ou "esta parte é em itálico", você está fazendo errado. Você deve pensar apenas "esta parte é o título" ou "esta parte tem ênfase".

Não vou escrever HTML pensando em visual

Se você gosta de pensar em visual, não se preocupe: vamos ver nos handouts futuros como mudar as regras de formatação do navegador. Por enquanto, peço que tenha paciência e entenda que código HTML não é lugar para fazer isso.

Exercise 3

Apenas para reforçar, escreva abaixo a mensagem que o Bart escreveu no quadro (imagem acima):

Answer

Repetindo: "Não vou escrever HTML pensando em visual" 😉

Se você entendeu o ponto, podemos começar a ver os conceitos básicos.