Il Web HyperText Application Technology Working Group (WHATWG, pronunciato what-wee-gee o what-wig) è una comunità di persone il cui scopo è quello di far evolvere il web attraverso implementazioni standard. Se vuoi, puoi anche collaborare con il WHATWG.
Il WHATWG nasce dall’esigenza di sviluppare standard web che si trasformano e si adattano ai reali bisogni degli sviluppatori web di tutto il mondo. Formalmente il gruppo è stato creato da sviluppatori di Apple, della Mozzilla Foundation e di Opera Software nell’anno 2004, dopo un workshop W3C.
Gli standard gestiti da WHATWG
Wat-wee-gee gestisce e sviluppa vari standard fondamentali della piattaforma web così come alcune idee che aspirano a diventare degli standard, un giorno. Vediamo ora un elenco di questi vari standard, che spesso inconsapevolmente utilizziamo ogni giorno navigando nel web:
- Compatibility
Questo standard descrive una collezione di proprietà CSS non standard (spesso con vendor-prefix) così come le API DOM implementate individualmente dai vari browser per supportare il “web de facto”. - Console
Questa specifica definisce le API per le funzionalità di debug nella console dei vari browser. - DOM
Lo standard DOM definisce la struttura fondamentale usata per definire il web. Parliamo di modelli (indipendenti dalla piattaforma) per eventi, per attività di interruzione di task e la descrizione del Node Trees (alberi di nodi). - Encoding
Lo standard Encoding definisce come funziona la codifica dei caratteri nel web, come deve essere elaborata dai browser e le relative API Javascript. - Fetch
La specifica Fetch dichiara un modello standard di networking per il recupero delle risorse del web. Richieste, risposte e il processo di mezzo (il fetching). - Fullscreen API
La specifica Fullscreen stabilisce come le pagine web possono allargarsi sino a riempire l’intero schermo dell’utente (solo su richiesta dello stesso utente). Risulta molto utile per il gaming o per guardare video su YouTube. A proposito… sapevi che Explosive lab ha un canale Youtube? - HTML
Questo standard è molto più di una descrizione del linguaggio di markup HTML, contiene infatti numerose API e tecnologie web come i Web Socktes, Web Storage, Microdata e molte altre. - Infra
Lo standard Infra punta a definire i concetti fondamentali sui quali gli standard vengono sviluppati. Quindi convenzioni, terminologie, e strutture dati. - MIME Sniffing
Questo standard definisce gli algoritmi usati per determinare il tipo di risorse scambiate nel web. - Notifications API
Fornisce un API per mostrare notifiche per avvisare utenti fuori dal contesto di una pagina web. (Usati per es. nel Web Banking, o da agenzie di volo per comunicazioni importanti, notifiche email, ecc.) - Quirks Mode
Lo standard Quirks Mode descrive il comportamento di alcuni selettori CSS che non sono ancora stati definiti da specifiche rilevanti ma che sono implementati largamente da tutti i browser. - Storage
Lo standard Storage definisce un API per salvare nel browser dei dati persistenti (diverso dai Cookie). Voluto per uniformare varie API non standard come IndexedBD, localStorage e showNotification() - Streams
La specifica Streams fornisce delle API utili per creare, comporre e consumare flussi di dati che si mappano in modo efficiente su I/O primitivi di basso livello. - URL
Lo standard URL definisce tutta l’infrastruttura intorno agli URL nel web. - XMLHttpRequest
Lo standard XMLHttpRequest definisce un API Javascript per trasferire data tra un client e un server.
Quali sono le differenze fra WHATWG e W3C?
Anche se entrambi contribuiscono allo sviluppo del web, esistono delle differenze fra i due enti.
Prima di tutto una distinzione formale, il W3C è una community internazionale composta da membri stipendiati full-time e il pubblico (noi altri) che lavorano in sinergia (feedback) per creare standard implementabili dai browser web.
Il WHATWG è, ricordiamolo, una community di persone interessate a contribuire all’evoluzione del web attraverso nuovi standard e test; e spesso non sono stipendiati.
Entrambi vogliono continuare a migliorare la Web-Platform rendendola interoperabile, gratuita, disponibile globalmente, accessibile a tutti, sicura e privata.
Nella storia del web ci sono state però diverse controversie e problematiche tra i due soggetti, dovute sopratutto al fatto che gestire una mole così vasta di standard e tecnologie in un mondo in continuo cambiamento non è per niente facile.
Per esempio è noto che il W3C abbia forkato lo standard HTML di WHATWG sollevando varie problematiche.
Per una visione più approfondita dell’amicizia non sempre florida tra i due enti vi lascio due link per approfondire:
- What is the difference between the W3C and the WHATWG?
post scritto da un editore degli standard WHATWG - Memorandum of Understanding Between W3C and WHATWG