Html5 linguaggio di markup o mashup?

Html5 logo
Tempo stimato di lettura: 2 minuti, 53 secondi
Pubblicato il 13 marzo 2012

Logo HTML5Oggi parlerò di html5, ma non sarà un tutorial su una delle funzioni integrate con la nuova specifica o dei nuovi tag semantici che sono stati inclusi, ma un’analisi del modo in cui viene percepito questo linguaggio da molti addetti ai lavori. Una cosa che ho notato spesso parlando di questo linguaggio è che html5 non è considerato un vero linguaggio di markup, come era stato per html4 o xthml, ma più che altro un mashup, cioè un mix di tecnologia. È come se esistessero due diverse correnti di pensiero: una che porta avanti l’opinione che html5 sia frutto di uno snaturamento del linguaggio html4, l’ altra invece che sostiene che il linguaggio html5 sia un’evoluzione delle precedenti specifiche e non ha modificato la sua funzione di linguaggio di markup.

Una delle più autorevoli rappresentanti della prima corrente è Molly E. Holzschlag che nella sua pagina twitter tempo addietro ha dichiarato che l’ html5 è un linguaggio di mashup e non di markup https://twitter.com/#!/mollydotcom/status/29375306501. A sostenere la seconda ipotesi invece troviamo uno dei maggiori web developer Gabriele Romanato http://gabrieleromanato.com/2012/01/html5-markup-o-mashup/. Personalmente sono più vicino alla seconda corrente di pensiero perché, a mio parere, non vi è stato uno stravolgimento del linguaggio, ma un’evoluzione, visto che comunque html5 si basa sempre sulla sintassi e struttura dell’smgl.

Tali cambiamenti sono stati dettati sia dalle esigenze degli sviluppatori che chiedevano l’aggiunta di alcuni tag come header, footer, section o aside per dare più semanticità alla struttura, sia dalle grandi aziende come Google, Apple e Microsoft, che hanno intuito il potenziale che questo linguaggio avrebbe avuto nel futuro del web, grazie a tag dedicati all’ambito multimediale, come ad esempio canvas per la creazione di grafica vettoriale tramite javascript o alla geo-localizzazione (quest’ultima in realtà non fa parte della specifica ufficiale dell’html5) tramite le api di programmazione.

In questi casi vi è sempre una netta separazione tra struttura e contenuti, infatti canvas resta solo un tag contenitore, come può essere embed o object al cui interno si possono inserire filmati o giochi in flash, altri come i tag audio e video invece hanno reso possibile fruire contenuti video e audio via web tramite l’uso di uno standard comune e libero con codec come il WebM senza usare tecnologie proprietarie. Altre tecnologie implementate come il file manifest e il web storage (session e local storage) possono essere considerati un’evoluzione delle funzioni introdotte qualche anno fa con i cookie.

In particolare le innovazioni introdotte, come l’aumento della quantità di dati che è possibile gestire e la minuziosa configurazione dei parametri a disposizione permettono la creazioni di siti con funzionalità avanzate, ad esempio nel caso di un e-commerce il local storage rende possibile salvare i prodotti del carrello e trovarli alla successiva riapertura del browser.

Un’ulteriore conseguenza positiva delle nuove tecnologie implementate è la possibilità di creare applicazioni web-based che possano funzionare anche in modalità offline.

Questo ultimo esempio dimostra che è stato ampliato il campo d’ azione del linguaggio html5, l’interesse verso questo nuovo utilizzo del linguaggio è dimostrato sia dall’utilizzo che se ne sta facendo sui sistemi operativi per smartphone (Ios, andorid e windows phone 7) che già nei loro app store prevedono applicazioni scritte in html5, ma anche dai futuri sistemi operativi desktop come windows8 che daranno la possibilità di creare applicazioni native cioè pacchetti .exe usando html5, che rimane sempre un linguaggio che stabilisce solo la struttura dei documenti con ovviamente i css a occuparsi della parte estetica e javascript per ciò che riguarda la programmazione.

  • Articolo molto interessante, Leano! A mio parere HTML5, per quanto abbia un potere espressivo inedito che fa semplicemente impallidire il suo predecessore, non sarà mai un vero e proprio “linguaggio di mashup”, non fosse altro che per fondere più applicazioni web è sempre necessario ricorrere ad un linguaggio server-side (Perl, PHP, Python, Ruby…) o, al limite, ad funzionalità di terze parti (Yahoo! Pipes, ad esempio). Non dimentichiamo che HTML5 definisce il comportamento, mentre le mashup possiedono una logica di fondo che devi necessariamente mettere in piedi lato codice (che si tratti di un’operazione manuale o mediante librerie, poco importa…)

    Mi pare quindi che questa innovazione serva principalmente ad offrire maggiori potenzialità presentative: una cosa certamente non da poco, ma che da sola non è sufficente a miscelare le funzionalità come richiesto dalla (seppur nebulosa) definizione di mashup. Forse l’affermazione iniziale su Twitter è stata scritta con in mente qualcosa di preciso (non detta chiaramente), e non posso che trovarmi d’accordo con il post di Gabriele Romanato.

    • Grazie Salvatore, condivido in pieno la tua visione, riguardo al tweet hai ragione è un pò ambiguo ma è stato preso come manifesto a sostegno della tesi di chi ritiene html5 un linguaggio “calderone”

Shares