É comum eu me deparar com dúvidas sobre a HTML5, não só em fóruns e listas de discussão, mas também em conversas com meus amigos desenvolvedores em eventos, que muitas vezes têm sua explicação relacionada com a filosofia de desenvolvimento da linguagem.
É um assunto interessante e curioso que vale uma reflexão, por isso escrevi esse artigo.
A filosofia de desenvolvimento de especificações do W3C prevê que uma especificação passe por uma série de estágios não necessariamente finais, pois pode haver volta a um estágio anterior, até que a especificação atinja o status de Recomendação do W3C, do qual não haverá mais volta, pois este é o estágio final e definitivo. O processo inicia-se novamente para uma próxima versão da especificação.
A WHATWG adota a filosofia de desenvolvimento da especificação sem o objetivo de alcançar uma versão final. O processo é contínuo e sempre direcionado para a tecnologia sem a necessidade de rotular cada estágio com um número, pois há somente um estágio, o atual.
Essa diferença de abordagem gerou confusão no processo de desenvolvimento da HTML, pois hoje temos um documento que descreve o desenvolvimento da especificação para a HTML5 e outro para a HTML5.1 no site do W3C e um documento que descreve o desenvolvimento da especificação para a HTML no site do WHATWG.
Para melhor entender o acabamos de dizer, leia a seguir, em tradução livre, duas afirmações retiradas do documento para as especificações HTML do WHATWG.
O termo “HTML5″ é um buzzword para designar as modernas tecnologias para web, muitas das quais (não todas) são desenvolvidas pelo WHATWG. Este documento é dedicado a uma destas tecnologias; outros estão disponíveis e estão relacionados no índice das especificações do WHATWG (http://kwz.me/wm).
Fica claro que para o WHATWG a HTML5 é muito mais que uma versão da HTML. É um conjunto de tecnologias, tais como, DOM, Fullscreen, Web Sockets, WebGL, Storage etc. Ao contrário do que considera o W3C com sua filosofia de especificação versionada e finalizada para a HTML.
Embora nós já tenhamos pedido para eles pararem com essa prática, o W3C continua publicando algumas partes da nossa especificação como uma especificação separada. Existem inúmeras diferenças entre estas especificações e as especificações do W3C; umas pequenas, outras significativas. Infelizmente não há, em lugar algum, um documento listando as diferenças, assim não há como saber quais diferenças são propositais e quais não são.
Sobre esta citação, deixo por conta do leitor concluir o que fica claro, mas aponto um exemplo das diferenças citadas: para o W3C o elemento hgroup não existe e obviamente não consta da sua especificação ao passo que para o WHATWG, aquele elemento consta da especificação em toda sua glória.
Hoje (agosto/2014), a especificação para a HTML5 encontra-se na fase de Candidata a Recomendação e as funcionalidades da linguagem devem ser estudadas baseando-se naquele documento hospedado no site do W3C.
Já existe um Rascunho do Editor do W3C que possivelmente será elevado ao status de Rascunho de Trabalho para as especificações da HTML5.1 – possivelmente a próxima versão da HTML. O documento encontra-se hospedado no site do W3C.
O WHATWG continua desenvolvendo a HTML, mas como dito anteriormente, para aquele Grupo de Trabalho não existe mais uma versão. A especificação encontra-se hospedada no site do WHATWG.
Será que um dia vão fazer as pazes? O que você pensa a respeito? Comente!