Principali caratteristiche e novità del linguaggio HTML5
HTML5 è un linguaggio di markup per la strutturazione delle pagine web. La stesura delle specifiche è a carico del W3C (World Wide Web Consortium) e del WHATWG (Web Hypertext Application Technology Working Group), gruppo composto da rappresentanti delle maggiori aziende mondiali del settore come Apple, Mozilla ed Opera. Nonostante sia il diretto successore di HTML4 e mantenga la sua filosofia general-purpose, molte delle sue nuove caratteristiche sono rivolte a rendere il web un ambiente più confortevole per applicazioni desktop-like. Queste caratteristiche includono:
- Supporto per l’offline: HTML5 fornisce un sistema di gestione delle cache attraverso il quale è possibile continuare ad eseguire la applicazione anche senza essere connessi.
- Storage locale: per il mantenimento di grandi quantità di dati HTML5 supporta un database basato su key-value memorizzato localmente.
- Canvas API: API per disegnare canvas 2D con cui realizzare grafica interattiva.
- Supporto audio e video integrato attraverso tag specifici senza ricorrere a plugin esterni.
- Caricamento di script asincrono.
- Supporto per il drag and drop.
L’obiettivo di HTML5 è quindi sostanzialmente 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 anche molto complesse, per superare le limitazioni di HTML, un linguaggio non nativamente progettato per lo sviluppo di articolate interfacce grafiche e sofisticate interazioni con l’utente. Una interessante caratteristica di HTML5 è che tutte le strutture di HTML4 (tag) rimangono validi e funzionanti. Questo perchè buona parte del web è ancora rappresentato da siti statici o document-oriented. In questi termini, preservare il legacy è compito svolto. HTML5 porta a una evoluzione del modello di markup, che non solo si amplia per accogliere nuovi elementi di chiaro valore semantico come <article>, <header>, <footer>, ma modifica anche le basi della propria sintassi e le regole per la disposizione dei contenuti sulla pagina. Le API JavaScript vengono inoltre estese per supportare tutte le funzionalità di cui una applicazione moderna potrebbe aver bisogno: WebWorker, WebSocket, IndexedDB sono alcune di esse.