A World Wide Web roda sobre três tecnologias centrais, mas o HTML (HyperText Markup Language) é a linguagem fundamental — o esqueleto sobre o qual toda página web é construída.
🏗️ HTML: Estrutura e Semântica
Papel: Define o que é o conteúdo (título, parágrafo, lista, imagem, link, formulário, article, nav).
Mecanismo: Tags (``, ` `, ``, ` `) envolvem o conteúdo.
HTML5 Semântico: ``, ``, ``, ``, ``, ``, `` — dão significado a navegadores, leitores de tela, buscadores.
Exemplo:
<article>
<header>
<h1>A Linguagem da Web</h1>
<p>Publicado <time datetime="2024-01-15">15 Jan 2024</time></p>
</header>
<p>HTML fornece a estrutura...</p>
</article>
🎨 CSS: Apresentação e Layout
Papel: Define como o HTML parece — cores, fontes, espaçamento, grid/flex layout, animações, breakpoints responsivos.
Cascata: Defaults do navegador → Estilos do usuário → Estilos do autor (inline > ID > classe > elemento).
CSS Moderno (2024): Container Queries, `:has()`, CSS Nesting, Subgrid, `color-mix()`, `view-transitions`.
⚡ JavaScript: Comportamento e Interatividade
Papel: Define o que acontece — manipulação DOM, fetch/API, gerenciamento de estado, UI complexa (React/Vue/Svelte), WebAssembly.
ES2024 Features: `Object.groupBy`, `Promise.withResolvers`, Temporal API (datas), Decorators.
Execução: Event loop single-threaded + microtask queue. JIT compilado (V8, SpiderMonkey, JavaScriptCore).
Como Se Combinam: O Critical Rendering Path
Bytes HTML → DOM Tree (Document Object Model).
Bytes CSS → CSSOM Tree (CSS Object Model).
DOM + CSSOM → Render Tree (apenas nós visíveis + estilos computados).
Layout (Reflow) → Paint → Composite → Pixels na Tela .
JavaScript executa, muta DOM/CSSOM → ciclo repete (incremental).
Além da Tríade: Tecnologias Web Essenciais
HTTP/2, HTTP/3 (QUIC): Transporte multiplexado, criptografado.
Web APIs: Fetch, WebRTC, WebGL/WebGPU, Web Workers, Service Workers (PWA).
WASM (WebAssembly): Velocidade nativa para C++/Rust/Go no navegador.
Acessibilidade (ARIA, WCAG 2.2): HTML semântico + roles/estados para tech assistiva.
HTML é a única linguagem obrigatória — uma página só com HTML funciona. CSS/JS aprimoram. Mas apps web modernos são inseparáveis da tríade.