Intro - Web Coding
Tecnologias
Para desenvolver uma página web, as tecnologias base são HTML, CSS e JavaScript. Essas três tecnologias trabalham juntas para criar páginas da web dinâmicas e interativas.
- HTML (Hypertext Markup Language) é a linguagem de marcação usada para estruturar o conteúdo de uma página da web. Ele permite que os desenvolvedores criem a estrutura básica de uma página, definindo cabeçalhos, parágrafos, listas, links e outros elementos de conteúdo. O HTML fornece a base para a criação de páginas da web, mas por si só não é capaz de criar páginas visualmente atraentes ou interativas.
- CSS (Cascading Style Sheets) é a linguagem usada para estilizar páginas da web. Ele permite que os desenvolvedores definam cores, fontes, layouts e outros aspectos visuais de uma página. O CSS é usado em conjunto com o HTML para criar páginas da web visualmente atraentes e bem projetadas.
- JavaScript é uma linguagem de programação usada para adicionar interatividade às páginas da web. Ele permite que os desenvolvedores criem elementos dinâmicos, como menus suspensos, slideshows e formulários interativos. O JavaScript também pode ser usado para manipular o conteúdo de uma página em tempo real, permitindo que os usuários interajam com a página de maneiras mais avançadas.
Essas três tecnologias são a base para o desenvolvimento de páginas da web. Elas trabalham juntas para criar páginas dinâmicas e interativas que proporcionam uma experiência rica ao usuário.
Como os Navegadores/Browser interpretam os códigos?
O processo de interpretação de código pelos navegadores envolve várias etapas para transformar o código HTML e CSS em uma página da web renderizada. Quando um navegador recebe um arquivo HTML de um servidor web, ele começa a analisar o código para construir uma árvore de estrutura do documento, também conhecida como árvore DOM (Document Object Model). A árvore DOM é uma representação em árvore da estrutura do documento HTML, onde cada elemento é representado por um nó na árvore.
Enquanto o navegador está construindo a árvore DOM, ele também analisa qualquer arquivo CSS vinculado ao documento HTML. O navegador usa as regras CSS para construir outra árvore chamada árvore de renderização, que contém informações sobre como cada elemento deve ser exibido na tela. A árvore de renderização leva em consideração as propriedades CSS, como cores, fontes e layouts, para determinar a aparência final da página.
Uma vez que a árvore DOM e a árvore de renderização são construídas, o navegador usa essas informações para pintar a página na tela. Isso envolve calcular as dimensões e posições de cada elemento e desenhar os pixels na tela para criar a página final renderizada. O navegador também pode executar scripts JavaScript incluídos na página para adicionar interatividade e outras funcionalidades.
Cliente-Servidor
O modelo cliente-servidor é uma arquitetura de rede na qual um ou mais computadores (clientes) se conectam a um servidor central para acessar informações ou serviços. Quando você acessa um site, seu navegador da web (o cliente) envia uma solicitação ao servidor que hospeda o site, solicitando a página da web que você deseja visualizar. O servidor, então, envia a página da web de volta ao seu navegador, que a exibe na tela.
Esse processo envolve várias etapas e tecnologias diferentes. Quando você digita um URL na barra de endereço do seu navegador e pressiona Enter, o navegador envia uma solicitação HTTP (Hypertext Transfer Protocol) ao servidor que hospeda o site. Essa solicitação inclui informações sobre o tipo de conteúdo que o navegador pode exibir e quaisquer cookies ou outras informações armazenadas pelo navegador.
O servidor recebe a solicitação e, em seguida, processa-a para determinar qual conteúdo deve ser enviado de volta ao navegador. Isso pode incluir a execução de scripts do lado do servidor para gerar conteúdo dinâmico ou acessar um banco de dados para recuperar informações. O servidor, então, envia uma resposta HTTP de volta ao navegador com o conteúdo da página da web, geralmente na forma de um documento HTML.
Quando o navegador recebe a resposta do servidor, ele começa a processar o documento HTML e a exibir o conteúdo da página na tela. Isso inclui a interpretação do código HTML para criar a estrutura da página e aplicar estilos CSS para definir a aparência da página. O navegador também pode executar scripts JavaScript incluídos na página para adicionar interatividade e outras funcionalidades.
Frontend vs Backend
Um desenvolvedor frontend é responsável pela parte do site que o usuário vê e interage diretamente, também conhecida como interface do usuário. Eles usam tecnologias como HTML, CSS e JavaScript para criar a estrutura, o estilo e a funcionalidade da interface do usuário. O objetivo do desenvolvedor frontend é criar uma experiência de usuário agradável e intuitiva, garantindo que o site seja fácil de usar e visualmente atraente.
Um desenvolvedor backend, por outro lado, é responsável pela lógica do servidor e pelo gerenciamento de dados. Eles usam linguagens de programação como PHP, Python ou Ruby para criar a lógica que alimenta o site e gerenciar o fluxo de dados entre o servidor e o banco de dados. O objetivo do desenvolvedor backend é garantir que o site seja rápido, confiável e seguro, gerenciando eficientemente os recursos do servidor e protegendo os dados do usuário.
Em resumo, um desenvolvedor frontend se concentra na interface do usuário, enquanto um desenvolvedor backend se concentra na lógica do servidor e no gerenciamento de dados. Ambos são importantes para o sucesso de um site ou aplicativo da web e trabalham juntos para criar uma experiência de usuário completa.
Tags
As tags HTML são a base da linguagem de marcação usada para criar páginas da web. Elas são usadas para marcar o conteúdo de uma página, indicando ao navegador como ele deve ser estruturado e exibido na tela. As tags são colocadas entre sinais de menor e maior (< >) e geralmente vêm em pares, com uma tag de abertura e uma tag de fechamento. Por exemplo, a tag <p>
é usada para marcar um parágrafo de texto, e deve ser fechada com a tag </p>
.
Existem muitas tags HTML diferentes, cada uma com seu próprio propósito e uso. Algumas das tags mais comuns incluem <h1>
a <h6>
para cabeçalhos, <p>
para parágrafos, <a>
para links, <img>
para imagens e <div>
para seções genéricas de conteúdo. É importante usar as tags corretas para marcar o conteúdo de uma página, pois isso ajuda a garantir que o navegador exiba a página corretamente e também melhora a acessibilidade para usuários com deficiências visuais ou outras necessidades especiais.
Além de marcar o conteúdo da página, as tags HTML também são organizadas em uma estrutura hierárquica conhecida como árvore DOM (Document Object Model). A árvore DOM é uma representação em árvore da estrutura de um documento HTML, onde cada elemento é representado por um nó na árvore. Os elementos são organizados em uma estrutura hierárquica, onde os elementos pai contêm elementos filhos aninhados.
Por exemplo, considere o seguinte trecho de código HTML:
<!DOCTYPE html> <html> <head> <title>Minha Página</title> </head> <body> <h1>Título da Página</h1> <p>Este é um parágrafo.</p> </body> </html>
Neste exemplo, o elemento <html>
é o elemento raiz da árvore DOM e contém dois elementos filhos: <head>
e <body>
. O elemento <head>
contém um elemento filho <title>
, enquanto o elemento <body>
contém dois elementos filhos: <h1>
e <p>
.
A estrutura hierárquica das tags HTML é importante porque define a relação entre os diferentes elementos em uma página da web. Os navegadores usam essa estrutura para renderizar a página corretamente na tela e os desenvolvedores podem usar JavaScript para manipular a árvore DOM e alterar dinamicamente o conteúdo da página.
As tags HTML podem ser divididas em duas categorias principais: tags de estrutura e tags de conteúdo.
As tags de estrutura são usadas para definir a estrutura geral de um documento HTML e organizar o conteúdo em seções lógicas. Algumas das tags de estrutura mais comuns incluem <html>
, que define a raiz de um documento HTML; <head>
, que contém informações de metadados sobre o documento; e <body>
, que define o corpo do documento e contém todo o conteúdo visível da página. Outras tags de estrutura importantes incluem <header>
, <nav>
, <main>
, <article>
, <section>
, <aside>
e <footer>
, que podem ser usadas para dividir o conteúdo da página em seções semânticas.
As tags de conteúdo são usadas para marcar o conteúdo real da página e definir seu significado e aparência. Existem muitas tags de conteúdo diferentes, cada uma com seu próprio propósito e uso. Algumas das tags de conteúdo mais comuns incluem <h1>
a <h6>
para cabeçalhos, <p>
para parágrafos, <a>
para links, <img>
para imagens, <ul>
e <ol>
para listas não ordenadas e ordenadas, respectivamente, e <li>
para itens de lista. Outras tags de conteúdo importantes incluem <table>
para tabelas, <form>
para formulários, e várias tags para diferentes tipos de mídia, como <audio>
e <video>
.
A tag <!DOCTYPE>
é uma declaração que deve ser incluída no início de todos os documentos HTML. Ela informa ao navegador qual versão do HTML (ou XHTML) o documento está usando, para que o navegador possa interpretar e exibir o conteúdo corretamente. A declaração <!DOCTYPE>
não é uma tag HTML em si, mas sim uma instrução para o navegador.
Em HTML5, a declaração <!DOCTYPE>
é muito simples e consiste apenas em <!DOCTYPE html>
. Em versões anteriores do HTML, como HTML 4.01 e XHTML, a declaração <!DOCTYPE>
era mais complexa e se referia a um DTD (Document Type Definition), que especificava as regras para a linguagem de marcação.
É importante incluir a declaração <!DOCTYPE>
correta no início de todos os documentos HTML para garantir que o navegador possa interpretar e exibir o conteúdo corretamente.
Atributos da tag
Atributos são informações adicionais que podem ser adicionadas às tags HTML para fornecer mais detalhes sobre o elemento que a tag representa. Eles são usados para modificar o comportamento ou a aparência de um elemento, fornecendo informações adicionais ao navegador sobre como o elemento deve ser tratado.
Os atributos são especificados dentro da tag de abertura de um elemento, após o nome da tag. Eles consistem em um par de nome e valor, separados por um sinal de igual (=). O valor do atributo deve ser colocado entre aspas. Por exemplo, a tag <a>
pode ter um atributo href
que especifica o URL para o qual o link deve apontar:
<a href="https://www.example.com">Exemplo</a>
Neste exemplo, o atributo href
é usado para especificar que o link deve apontar para o site “https://www.example.com”. Quando o usuário clica no link, o navegador segue o URL especificado pelo atributo href
.
Existem muitos atributos diferentes que podem ser usados com diferentes tags HTML. Alguns atributos comuns incluem src
para especificar a fonte de uma imagem ou script, alt
para fornecer texto alternativo para uma imagem, width
e height
para especificar as dimensões de uma imagem ou tabela, e style
para aplicar estilos CSS diretamente a um elemento.
Os atributos fornecem uma maneira poderosa de modificar o comportamento e a aparência dos elementos HTML em uma página da web. É importante usar os atributos corretamente e seguir as melhores práticas para garantir que sua página seja exibida corretamente em todos os navegadores.
Lista de Tags
<html>
: Define a raiz de um documento HTML.<head>
: Contém informações de metadados sobre o documento, como título, scripts e folhas de estilo.<body>
: Define o corpo do documento e contém todo o conteúdo visível da página.<header>
: Define um cabeçalho para um documento ou seção.<nav>
: Define um conjunto de links de navegação.<main>
: Define o conteúdo principal de um documento.<article>
: Define um artigo independente e autônomo.<section>
: Define uma seção em um documento.<aside>
: Define um conteúdo à parte do conteúdo principal da página.<footer>
: Define um rodapé para um documento ou seção.<h1>
a<h6>
: Define títulos de diferentes níveis, sendo<h1>
o mais importante e<h6>
o menos importante.<p>
: Define um parágrafo de texto.<a>
: Define um hiperlink para outra página ou recurso.<img>
: Insere uma imagem na página.<ul>
e<ol>
: Define listas não ordenadas e ordenadas, respectivamente.<li>
: Define um item de lista dentro de uma lista não ordenada ou ordenada.<div>
: Define uma seção genérica de conteúdo que pode ser estilizada usando CSS.<span>
: Define uma seção genérica de conteúdo em linha que pode ser estilizada usando CSS.<table>
: Define uma tabela de dados.<tr>
,<th>
, e<td>
: Define linhas, células de cabeçalho e células de dados em uma tabela, respectivamente.<br>
: Insere uma quebra de linha.<hr>
: Insere uma linha horizontal para separar conteúdo.<strong>
e<em>
: Adiciona ênfase forte ou moderada ao texto, respectivamente (geralmente exibido como negrito e itálico).<small>
: Reduz o tamanho do texto para indicar informações secundárias ou menos importantes (como avisos legais ou direitos autorais).