Chi pensa che l'HTML, il linguaggio che il consorzio WWW dichiarò fuori standard nel 2000, abbia ancora poche cose da dire si sbaglia, e di grosso. Sono Francesco Caccavella di HTML.it e oggi vi presento la nuova evoluzione del linguaggio HTML, l'HTML versione 5. Nei modi con cui è stato proposto e nella brusca sterzata che impone allo sviluppo è una vera e propria rivoluzione.
HTML 5 è una evoluzione dell'HTML 4 e dell'XHTML 1.1. Le intenzioni dei promotori sono principalmente tre: primo dotare chi sviluppa siti di strumenti al passo con il cosiddetto Web 2.0, fatto non solo di pagine statiche ma di vere e proprie applicazioni basate sul browser e di forte interazione con gli utenti. Secondo correggere le molte disfunzioni del vecchio HTML per aumentarne l'interoperabilità. Terzo salvare l'HTML rendendolo più facile da scrivere ed evitando una deriva normativa troppo rigida, come ad esempio quella proposta dall'XHTML 2.
Alle basi dell'HTML 5 vi è infatti un dato: il 95 per cento delle pagine Web oggi pubblicate contiene errori di formattazione. Adottando linguaggi sempre più rigidi, come quelli basati su XML, si lotta contro i mulini a vento: nessun utente li userà e i browser non li supporteranno.
Per ottenere una vera interoperabilità si è scelto allora di "riparare" il vecchio e diffusissimo HTML nei browser stessi, includendovi istruzioni di correzione degli errori. Questi meccanismi dovranno essere identici per tutti i browser così da rendere identiche la resa di pagine e applicazioni Web. HTML 5 sarà, naturalmente, compatibile con la vecchia versione.
Chi ha promosso le nuove specifiche viene, non a caso, dall'industria. Nel 2004 Apple, Opera Software e Mozilla hanno cominciato a produrre tre diverse documenti: Web Application 1.0, la vera e propria evoluzione di HTML, Web Forms 2.0, per una più moderna gestione dei moduli Web, e Web Controls 1.0, per la creazione di controlli utente per applicazioni Web. Le specifiche Web Form 2.0 verranno integrate nelle specifiche Web Application 1.0 e il documento è stato già rinominato in HTML 5 e supportato dal W3C.
Vediamo allora cosa c'è di nuovo in HTML 5. In primo luogo la gestione della struttura del documento. HTML 5 introduce nuovi tag come <article>, <nav>, <header>, <footer> che suddividono il documento in sezioni logiche: contenuto, menu di navigazione, intestazione, piè di pagina.
L'utilità è immediata: un browser per piccoli schermi come, ad esempio, quelli dei cellulari potrà visualizzare immediatamente la sezione che interessa senza dover scorrere a forza l'intera pagina, con i menu, le testate e tutto il resto.
Nel nuovo HTML 5 non bisognerà più usare, o almeno si spera, JavaScript o codice lato server per controllare i dati nei moduli. Per ogni modulo infatti potrà essere indicato se esso richiede un'e-mail o un testo semplice, una data o un numero. Sarà il browser a mostrare i controlli grafici adatti, a gestire gli eventuali errori e ad impedire l'invio di un modulo non compilato correttamente.
Altra novità è l'elemento <canvas>, attualmente supportato dalle ultime versioni di Firefox, Opera e Safari. Utilizzando questo elemento è possibile costruire, un po' come con l'SVG o XAML, immagini bitmap attraverso tag HTML e JavaScript . Il sistema viene già attualmente utilizzato in alcune applicazioni web, come l'editor di Mashup Yahoo! Pipes .
Alcune novità riguardano direttamente le applicazioni Web. L'HTML 5 include ad esempio un sistema, simile all'applicativo Google Gears, per salvare in locale dati o logica di un'applicazione Web. Si potranno facilmente modificare porzioni di un documento direttamente nel browser, oppure gestire con più facilità il drag and drop degli elementi oppure annullare e ripristinare un'azione appena compiuta. Una parte coprirà la gestione delle connessioni delle applicazioni Web, attraverso protocolli Internet o Bluetooth.
Alcuni tag, come <video> e <audio>, sono dedicati alla gestione dei diversi formati dei contenuti multimediali; l'elemento <progress> sarà usato per visualizzare graficamente la progressione di operazioni di calcolo; l'elemento <datagrid> per visualizzare tabelle o elenchi dinamici; l'elemento <dialog> per visualizzare conversazioni fra utenti.
Secondo la roadmap del consorzio WWW, la versione ufficiale delle specifiche HTML 5, ora in bozza, vedrà la luce nel 2010 e una implementazione di massa è prevista per il 2015. Molte delle porzioni della bozza potranno tuttavia venire rilasciate in corso d'opera, senza attendere una certificazione definitiva. La scrittura delle specifiche è completamente aperta: chiunque volesse partecipare può farlo partendo dal blog di Ian Hickson, il responsabile delle specifiche.