Il linguaggio del web: HTML, CSS e JavaScript — La triade che fa funzionare il mondo
Il World Wide Web funziona su tre tecnologie fondamentali, ma HTML (HyperText Markup Language) è il linguaggio di base — lo scheletro su cui ogni pagina web è costruita.
🏗️ HTML: Struttura e semantica
- Ruolo: Definisce cosa è il contenuto (intestazione, paragrafo, elenco, immagine, link, form, articolo, nav).
- Meccanismo: Tag (`
`, `
- HTML5 semantico: `
`, ` - Esempio:
<article> <header> <h1>Il linguaggio del web</h1> <p>Pubblicato <time datetime="2024-01-15">15 gennaio 2024</time></p> </header> <p>HTML fornisce la struttura...</p> </article>
🎨 CSS: Presentazione e layout
- Ruolo: Definisce come appare l'HTML — colori, font, spazi, layout grid/flex, animazioni, breakpoint reattivi.
- Cascata: Default browser → Stili utente → Stili autore (inline > ID > classe > elemento).
- CSS moderno (2024): Container Queries, `:has()`, CSS Nesting, Subgrid, `color-mix()`, `view-transitions`.
⚡ JavaScript: Comportamento e interattività
- Ruolo: Definisce cosa succede — manipolazione DOM, fetch/API, gestione stato, UI complessa (React/Vue/Svelte), WebAssembly.
- Funzionalità ES2024: `Object.groupBy`, `Promise.withResolvers`, Temporal API (date), Decoratori.
- Esecuzione: Single-threaded event loop + microtask queue. JIT compilato (V8, SpiderMonkey, JavaScriptCore).
Come si combinano: Critical Rendering Path
- Byte HTML → DOM Tree (Document Object Model).
- Byte CSS → CSSOM Tree (CSS Object Model).
- DOM + CSSOM → Render Tree (solo nodi visibili + stili calcolati).
- Layout (Reflow) → Paint → Composite → Pixel sullo schermo.
- JavaScript esegue, muta DOM/CSSOM → ciclo si ripete (incrementale).
Oltre la triade: tecnologie web essenziali
- HTTP/2, HTTP/3 (QUIC): trasporto multiplexato, cifrato.
- Web API: Fetch, WebRTC, WebGL/WebGPU, Web Workers, Service Workers (PWA).
- WASM (WebAssembly): velocità quasi nativa per C++/Rust/Go nel browser.
- Accessibilità (ARIA, WCAG 2.2): HTML semantico + ruoli/stati per tecnologie assistive.
HTML è l'unico linguaggio obbligatorio — una pagina con solo HTML funziona. CSS/JS migliorano. Ma le app web moderne sono inseparabili dalla triade.