Resumo

  • Em 28 de fevereiro de 2017, representantes de Chrome, Edge, Firefox e WebKit anunciaram consenso sobre o formato binário e a API JavaScript iniciais. O Browser Preview terminava; os navegadores podiam ativar o recurso por padrão, com compromisso de compatibilidade futura.
  • A Mozilla registrou em novembro de 2017 o suporte nas quatro grandes famílias. O histórico do W3C data o primeiro rascunho público do Core em 15 de fevereiro de 2018 e a Recomendação em 5 de dezembro de 2019.

O sinal verde saiu das implementações

A mensagem de fevereiro não apresentava uma norma concluída. Dizia que o projeto inicial estava completo até o ponto em que novas escolhas exigiam experiência de implementação e uso significativo. Um formato na mesa de discussão havia se tornado um alvo que diferentes navegadores podiam colocar diante de usuários reais. O grupo comunitário indicou a formação de um Grupo de Trabalho do W3C como etapa seguinte, não como condição já cumprida.

Havia um custo embutido na decisão. Recursos futuros precisariam respeitar a compatibilidade com o primeiro formato. Depois que sites começassem a distribuir módulos contra ele, uma mudança brusca quebraria aplicações em circulação. O consenso dos implementadores foi uma promessa operacional com efeitos sobre código que outros passariam a publicar.

A mensagem preservada no arquivo do W3C menciona a API JavaScript, o formato binário e um interpretador de referência. A ausência do primeiro rascunho formal não significava ausência de projeto escrito. Significava que um MVP elaborado no grupo comunitário ainda percorreria revisão e publicação na trilha normativa do W3C.

Os navegadores passaram à frente do cronograma

Em 13 de novembro de 2017, a Mozilla informou que Safari e Edge haviam se juntado a Firefox e Chrome. Isso confirma lançamentos de produtos, não que todos os dispositivos já estivessem atualizados. Para um desenvolvedor, porém, quatro famílias capazes de executar o mesmo alvo tornavam possível testar e distribuir o módulo antes do selo formal.

A carta do Grupo de Trabalho de 2017 previa um primeiro rascunho público no quarto trimestre daquele ano e a Recomendação v1 no segundo trimestre de 2018. O registro de publicações mostra o rascunho em fevereiro de 2018, uma etapa candidata em julho de 2019 e a Recomendação em dezembro de 2019. As datas previstas escorregaram. As fontes não atribuem o atraso a um único motivo; a diferença verificável é entre a agenda formal e o software já lançado.

O selo especificou outras obrigações

O anúncio do W3C de dezembro de 2019 reuniu três textos. O Core descreve máquina virtual e formato; a Interface JavaScript trata das chamadas e valores; a API Web trata da obtenção e execução do recurso. Entender os bytes de um módulo não resolve automaticamente como uma página o carrega ou troca dados com o ambiente.

A carta exigia testes, relatório de implementações, discussões públicas e revisão com outros grupos. O trabalho formal colocou fronteiras verificáveis em uma capacidade que já funcionava. O grupo comunitário e os navegadores não receberam da Recomendação de 2019 uma autorização retroativa para ter rodado em 2017. Eles fizeram uma escolha de implantação; o W3C terminou um contrato público para ela. A história fica mais precisa quando cada relógio mantém sua própria data.