L’implementazione di HTML5 e CSS3 tra teoria e pratica

Se il 2010 puo essere considerato l'anno zero per le tecnologie HTML5 e CSS3, alla fine del 2012 sono trascorsi tre anni da quando i produttori di browser hanno iniziato a implementare le specifiche HTML5 nei loro prodotti. Inoltre, poche settimane fa il W3C ha annunciato che HTML5 e praticamente completato e che i prossimi step riguarderanno per lo piu il fine-tuning. Possiamo quindi fare il punto della situazione e controllare qual e lo stato dei lavori in attesa di rilascio ufficiale di HTML5 (che ricordiamo essere previsto dopo il 2014).

Andamento dei lavori

Andamento dei lavori

Il lavoro dei gruppi incaricati di coordinare l’implementazione delle specifiche HTML5 è molto incoraggiante. Solamente una decina di anni fa i produttori di browser non riuscivano a mettersi d’accordo nemmeno su quale “dialetto” JavaScript utilizzare. Alla fine degli anni ’90 i diversi linguaggi di scripting avevano addirittura nomi diversi, oltre che sintassi e comportamenti differenti. Lo stesso valeva per l’implementazione delle specifiche HTML e CSS. Con queste premesse era logico non aspettarsi troppo dalla cooperazione dei diversi produttori di browser. Per nostra fortuna HTML5 sta seguendo un percorso diverso. Per fare un esempio, il gruppo di lavoro che si occupa di concordare l’implementazione delle specifiche CSS ha dovuto affrontare diverse diatribe. Una di queste riguardava la sintassi dei gradienti grafici CSS3. Invece di discutere a tavolino qual era l’approccio migliore, i diversi produttori hanno concordato che l’implementazione presentata da Firefox era quella ottimale. Conseguentemente l’implementazione di Firefox è stata adottata come standard del gruppo di lavoro: un esempio di come la pratica possa servire a ridefinire la teoria.

Un altro aspetto importante riguarda l’andamento dei lavori relativi alle funzionalità dei cosiddetti Web Database. Si tratta di database leggeri inclusi nel browser, che permettono di memorizzare alcune informazioni client side. Molti browser utilizzano questa tecnica per memorizzare e organizzare i cookies. Ogni browser usa però una tecnologia diversa, da cui la necessità di concordare una specifica comune nell’ambito di HTML5. Dopo alcune discussioni e tentativi, al momento la scelta sembra orientarsi verso Indexed DB, che sembra essere il miglior candidato a diventare lo standard del futuro.

Il vantaggio di usare un database leggero (nel browser) permette di memorizzare le informazioni in modo omogeneo. Ad esempio, tutti i dati relativi a segnalibri dei preferiti, parametri delle applicazioni Web, indirizzi della posta elettronica ecc. possono essere memorizzati in modo persistente nel database leggero del browser. Ciò permette di inserire, aggiornare e cercare i dati usando una sintassi SQL, ritenuta comoda dalla maggior parte degli sviluppatori. Al momento di questo articolo (gennaio 2013) Indexed DB è supportato da Firefox, Chrome e dalle versioni di Internet Explorer successive alla 10. Gli altri browser, come ad esempio Safari, Opera e le vecchie versioni di Chrome (Chrome 4) utilizzano ancora la specifica alternativa, nota come WebSQL. Anche in questo caso i gruppi di lavoro sono riusciti a mettersi d’accordo in maniera soddisfacente. Da quasi due anni Indexed DB è stato riconosciuto come il nuovo standard.

L’unico aspetto che consigliamo di valutare a parte riguarda le promesse del Web semantico. Il Web semantico fu proposto da Sir Tim Berners Lee (l’inventore del Web) sin dagli albori di Internet. Le specifiche del Web semantico hanno fatto grandi passi avanti ed esistono già molte applicazioni pratiche. Purtroppo non esiste ancora uno standard unico adottato a livello mondiale, anche se la situazione è molto migliorata e il numero di proposte si è notevolmente ridotto. È però importante non confondere le aspettative del Web semantico con l’implementazione di HTML5. Sul Web esistono alcuni articoli che spiegano come le tag HTML5 header, footer, article ecc. permetteranno ai motori di ricerca di comprendere il significato delle diverse sezioni di una pagina Web. Affermare che queste tag sono un’implementazione del Web semantico non è del tutto corretto. Il Web semantico mira a definire il significato di qualsiasi elemento contenuto nella pagina e non solamente il significato degli elementi strutturali. Il nostro consiglio è quello di tenere i due argomenti ben separati, per non cadere nell’errore di sommare mele con pere.