L’html dalla sua nascita si è distinto per la sua forte mutevolezza nel tempo, in 10 anni se ne sono rilasciate almeno cinque varianti principali più un infinità di varianti proprietarie, ma i perchè di tutti questi mutamenti sono per molti un mistero, vediamo di spiegarli.

Uno sguardo alle origini

L’html nelle sue prime versioni era un semplice (ma ben strutturato) linguaggio di marcatura che permetteva principalmente di formattare i testi, definire alcuni tipi di dati dentro apposite marcature e creare collegamenti ipertestuali tra i documenti.

Questa sua semplicità lo portava ad un estrema indipendenza dalla piattaforma, anche perchè non era prevista una vera e propria formattazzione grafica, che però veniva spesso ricercata tramite ASCIIART.

Nelle versioni successive sono state implementate una serie di nuove marcature che permettevano di strutturare dati complessi sotto forma tabellare e creare strutture complesse tramite frame, livelli, ecc…

Queste successive modifiche però portarono ad un’allontanamento dalla cosidetta “indipendenza di mezzi” (device indipendency) e soprattutto una forte incompatibilità a livello strutturale-grafico tra i browser, data anche dal fatto che oramai tutti impaginavano scorrettamente tramite gli elementi tabellari.

Il w3c corre ai ripari

Il W3C resosi conto della situazione e sovraccaricata dalle richieste dei vari produttori di browser di inserire nuove marcature specialistiche decise di programmare la rotta strategica da seguire per gli anni successivi e di dividere le raccomandazioni che rilasciava su 2 livelli principali che separavano la nuova versione pura da una versione transitoria che implementava anche marcature obsolete o deprecate.

Questa divisione fu applicata praticamente al rilascio della specifica HTML 4.0 che si frammentava in tre varianti: la transitional, la strict e la frameset.

La transitional presentava tutte le caratteristiche di marcatura del nuovo HTML 4.0 in tutte le altre sue varianti (che stato strutturato in parte in parallelo con la specifica CSS) mantenendo però una serie di marcature deprecate presenti nell’HTML 3.2 e permettendo così un punto franco di passaggio per quei siti che volevano migrare dall’HTML 3.2 al 4.0.

Questa variante però sporcava tremendamente il codice ma permetteva la piena libertà ai programmatori che si potevano completamente distaccare da tutto ciò che esisteva di tipizzato nelle varie marcature, e proprio per questo si diffuse a vista d’occhio per tutto il web, e vista la sua libertà spessisimo il codice non veniva neppure più mantenuto valido, visto che i browser avevano oramai imparato a correggere gli errori.

La variante strict garantiva un formalismo pienamente corretto sull’HTML 4.0, mantenendo in un rapporto equo le possibilità di formattazione grafica con le marcature tipizzate e la compatibilità multipiattaforma.

Purtroppo questa variante non ebbe un grandissimo successo specialmente perchè la comodità della transitional impigriva totalmente i programmatori, che oramai si affidavano ciecamente ai browser.

La terza versione la frameset era stata aggiunta per separare completamente le marcature che permettevano la creazione dei frame dal normale HTML, sopprattutto vista la questione che i frame erano uno dei pochi elementi puramente funzionali e non rappresentavano alcun tipo di dati. Quest’ultima versione non si è praticamente diffusa nel web per via del suo concetto puramente astratto.

Il web rimane indietro

Quasi tutti gli sviluppatori non si accorsero nemmeno di questi intenti del w3 che passarono solo attraverso pochi canali che rimanevano attenti a questi mutamenti per vari motivi come l’accessibilità dei contenuti, l’interoperabilità dei siti, ecc…

Il web quindi peggiorò in quasi tutta la sua forma nonostante gli intenti del w3 e i vantaggi che proponeva con le sue versioni separate.

Tra web semantico e accessibilità

Il 1997-1998 fu l’anno della svolta in merito, infatti Tim Berners Lee propone un nuovo concetto di web dove il tutto si concentra sul significato puro dei contenuti e sulla loro fruibilità, il concetto che sarà poi alla base del Web Semantico.

Lo scopo di questa iniziativa è di portare la trovabilità e il significato delle informazioni ad un livello che oltre ad essere accessibilità per tutti, rimane indipendente dalla piattaforma e finalmente comprensibile anche da un software.

Il primo passo fu di definire un modello che permettesse questo sviluppo e si denoto il fatto che solo un ritorno alle origini come l’SGML (un metalinguaggio di marcatura che permette la definizione di altri linguaggi di marcatura, nota: tutte le versioni di HTML sono scritte in SGML) che però risultava troppo complesso e abbastanza differente nella forma dall’HTML a cui tutti si erano oramai abituati. Si defini allora l’XML (Extensible Markup Language) un metalinguaggio derivato sempre da SGML ma che permettesse una sua ridefinizione e/o estensione personalizzata e semantica.

Questa rivoluzione fu presa dal mercato del software come una panacea che permetteva molto semplicemente di definire protocolli e modelli personalizzati per lo scambio di dati dentro marcature logiche e con un formalismo molto rigido e quindi molto più libero da errori. Inoltre il w3 in parallelo rilascia varie specifiche di linguaggi di marcatura per trasformare documenti XML in altri documenti XML in tempo reale (XSL) secondo varie metodologie (DOM, SAX) nonchè di rappresentare dati matematici, chimici, vettoriali, ecc…

Alla fine del 1997 il w3 rilascia una nuova versione di HTML 4.0 completamente trascritta in XML denominato XHTML 1.0. Quest’ultimo è anchesso diviso nelle tre versioni di HTML 4.0 leggermente alleggerite, imponendo il formalismo rigido di XML ma presentandone tutti i lati positivi di estensibilità del linguaggio e di trattamento. Inoltre nelle sue versioni viene curata in maniera eccelsa la questione della fruibilità e dell’accessibilità dei dati su tutte le piattaforme, con qualunque connessione e da qualunque utente, anche vista la sua piena compatibilità (sotto certi aspetti anche superiore a quella di HTML) con i fogli di stile a cascata (CSS).

In pratica scrivendo un documento in XHTML 1.0 Transitional o Strict (il frameset è una scelta oramai obsoleta sotto gli aspetti d’usabilità e di accessibilità di una pagina) si ha la garanzia totale di essere compatibili con il passato e il futuro del web, o al limite di potersi convertire semplicemente adottando dei file XSL per trasformare i documenti nelle nuove versioni. Inoltre la versione Strict presenta peculiarità fenomenali sotto gli aspetti di interoperabilità dei contenuti, infatti non presenta alcuna marcatura che non sia compatibile con qualunque browser o piattaforma mantenendo una fruibilità e un accessibilità dei contenuti assoluta.

Il web del futuro

Prevedere cosa accadrà in futuro è una mera illusione sul web, ma dal lato formale il w3c vuole proseguire con l’obbiettivo di un web semantico che un giorno garantirà una trovabilità delle informazioni altissima e un altrettanta accessibilità delle stesse, nel frattempo ha già rilasciato una specifica XHTML 1.1 che si uniforma completamente ai concetti alla base di XML e l’XHTML Basic, una versione ridotta per le piattaforme che non possiedono grandi possibilità di banda o di visualizzazione, mentre sta già preparando nuove versioni più potenti sia di XHTML sia di XML.

Cosa dire… “Leading the Web to Its Full Potential…”