back to top

Introduzione a HTML5

L’obiettivo di questa guida è fornire agli autori (Web developers, Webmasters, grafici e chiunque veicoli contenuti formattati tramite codice HTML[5]) un primo strumento utile per entrare in contatto con le specifiche del nuovo linguaggio; si propone inoltre di essere un valido mezzo per la consultazione delle singole nuove features introdotte. La guida non tratta HTML nel suo complesso ma si concentra sulle differenze che intercorrono tra la versione 4.01 e la versione 5.

Fonti e metodologia

Per costruirla mi sono avvalso dei diversi documenti (Recommendations) che il W3C mette a disposizione; queste fonti ne hanno ispirato organizzazione e struttura ed hanno fornito lo spunto per redigere i vari capitoli.

N.B.: Laddove ho percepito nella documentazione distonie che potessero essere fonte di diverse interpretazioni, quindi potenzialmente generanti entropia, ho stralciato le informazioni dubbie cercando di isolare quelle certe, questo approccio è stato adottato in ragione della natura mutevole del draft, con la convinzione che la raffinazione futura possa modificare le sfumature, ma difficilmente stravolgere i concetti base.

Le definizioni formali di ogni elemento sono mie personali traduzioni di quelle fornite nelle specifiche (nelle quali non esiste un paragrafo “definizione formale”), talvolta integrate con esempi di utilizzo (mutuati dal documento, riadattati od ex-novo) quando questi si siano resi fondamentali per massimizzare la comprensione del contesto.

Le espressioni “elemento” e “tag” sono stati considerati a tutti gli effetti sinonimi. Lo stesso principio di equivalenza è stato adottato per i termini “browser” e “user-agent”.

HTML5

HTML5 è un linguaggio di markup attualmente in fase di definizione. Il documento di specifica che lo descrive consiste al momento in una bozza in lavorazione (working draft); rappresenta l’evoluzione diretta di HTML 4.01, del quale è designato essere il successore. HTML5 è definito in modo da essere retrocompatibile: se da un lato agli autori si vieta in buona sostanza l’utilizzo dei vecchi elementi non inclusi nella nuova specifica, dall’altro è richiesto agli user-agents di mantenerne il supporto al fine di garantire la compatibilità con i documenti redatti in passato; il linguaggio prevede quindi requirements diversi per autori e user-agents eliminando di fatto la necessità di indicare le features obsolete come deprecate.

Enti e gruppi coinvolti

La stesura delle specifiche è a carico del W3C (World Wide Web Consortium) e del WHATWG (Web Hypertext Application Technology Working Group), un gruppo di professionisti provenienti da aziende fortemente interessate come Apple, Mozilla, ed Opera. Fu proprio il WHATWG a spendersi inizialmente, correva l’anno 2007, affinché il W3C si orientasse verso HTML5 a discapito di XHTML 2.0, ne propose il nome e ne ispirò la filosofia. In seguito alle pressioni ricevute, direttamente proporzionali al peso degli attori in causa, il W3C nel 2009 chiuse ufficialmente lo sviluppo di XHTML 2.0 ed iniziò a dedicarsi a tempo pieno alla stesura delle specifiche di HTML5/XHTML5.

RoadMap

La data attualmente prevista per la chiusura del processo di definizione è indicata intorno alla metà del 2014.

Data ultimo draft disponibile al momento della stesura di questa guida

4 Febbraio 2012

Perchè HTML5

La motivazione principale addotta per giustificare la necessità di creare un nuovo standard è dichiarata esplicitamente in uno stralcio del paragrafo 1.1 del documento provvisorio di specifica, di cui riporto la (mia) traduzione:

L’area più importante che (l’attuale) HTML non copre adeguatamente è quel nebuloso (vagamente definito) soggetto conosciuto come “Web Application”. Questo documento cerca di risolvere questo problema e parallelamente di aggiornare le specifiche HTML per dare risposta alle questioni emerse negli ultimi anni.

L’obiettivo è in buona sostanza di semplificare il lavoro degli sviluppatori (e quindi delle aziende coinvolte nella creazione di Web applications) che negli ultimi anni hanno dovuto elaborare soluzioni, a volte molto complesse, per superare le limitazioni di HTML, un linguaggio non nativamente progettato per lo sviluppo di articolate interfacce grafiche e sofistificate interazioni con l’utente.

HTML5 e XHTML5

HTML5 possiede una serializzazione HTML (tipo MIME text/html) ed una serializzazione XML (tipi MIME application/xhtml+xml, application/xml), il nome della quale è XHTML5. Il working draft puntualizza:

Esistono varie sintassi concrete (implementazioni) che possono essere utilizzate per trasmettere le risorse che usano questo linguaggio “astratto” (HTML5). Due di queste sono definite in questo documento. La prima è la sintassi HTML [..] La seconda è quella XHTML, che è una applicazione di XML. Quando un documento viene trasmesso come application/xhtml+xml è trattato come un documento XML dal browser e processato coerentemente.

Adoption

Benché il linguaggio non sia ancora uno standard e malgrado le specifiche siano ancora parziali (quindi potenzialmente soggette a modifiche) i maggiori produttori di browsers migliorano la compatibilità HTML5 dei propri software ad ogni nuova release. Sussistono d’altra parte sensibili differenze tra produttore e produttore e soprattutto tra versioni recenti ed obsolete dei vari browsers presenti sul mercato.

Esistono svariate tabelle comparative sull’argomento e risorse online che permettono di valutare nei fatti quanto il proprio browser aderisca alle nuove specifiche, tra i più utilizzati strumenti online cito http://html5test.com; nel mese di Gennaio 2012 la situazione era la seguente (nota: a punteggio più alto equivale maggiore aderenza alle specifiche, max = 475 punti):

Google Chrome 16.0373
Mozilla Firefox 9.0330
Opera 11.60329
Apple Safari 5.1302
MS IE 9141

Nella prossima lezione vedremo una breve cronologia dell’evoluzione del linguaggio HTML dagli anni ’90 ad oggi.

Pubblicità
Articolo successivo

In questa guida...