BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias WebAssembly: versão Preview aguarda feedback da comunidade

WebAssembly: versão Preview aguarda feedback da comunidade

Favoritos

O desenvolvimento do WebAssembly está na etapa preview, um importante marco no processo de padronização da especificação.

No Chrome, no Edge e no Firefox, os usuários já podem utilizar a versão preview do WebAssembly que utiliza o formato binário release candidate, o WebAssembly Community Group ainda está trabalhando no formato gerado. Além disso, foi lançado um guia do desenvolvedor que explica todas as etapas necessárias para a criação de um WebAssembly a partir de um código fonte em C, passando pela etapa de como compilar e, por fim, como é realizado a entrega do binário ao navegador.

Diferente das etapas experimentais anteriores, esta versão preview é cross-browser e estável. Os fabricantes de navegadores estão encorajando a utilização desta versão para coletar feedback.

Limin Zhu, program manager do navegador Edge da Microsoft, fez o anúncio do WebAssembly preview e exibiu uma demonstração.

Na demonstração, um algoritmo da função fatorial foi implementada em C++:

int factorial(int n)
{
   if (n == 0)
      return 1;
   else
      return n * factorial(n-1);
}

O conteúdo WebAssembly gerado foi o seguinte:

binary   | text
20 00    | get_local 0
42 00    | i64.const 0
51       | i64.eq
04 7e    | if i64
42 01    |   i64.const 1
05       | else
20 00    |   get_local 0
20 00    |   get_local 0
42 01    |   i64.const 1
7d       |   i64.sub
10 00    |   call 0
7e       |   i64.mul
0b       | end

Apesar do formato binário ter o nome de release candidate, o formato ainda não está pronto para ser utilizado em produção e ainda terá seu formato alterado. No roadmap do projeto WebAssembly, os desenvolvedores são alertados:

Os desenvolvedores devem estar conscientes que entre a atual versão preview e a versão que ainda será oficialmente lançada, haverá pelo menos uma mudança que pode gerar incompatibilidade, assim obrigando os desenvolvedores atualizarem seus compiladores e compilar novamente seus binários.

Essa fase do projeto irá terminar em algum momento do primeiro trimestre de 2017, assim que a especificação draft estiver finalizada. Quando essa fase terminar, os navegadores poderão ativar essa funcionalidade por padrão, sem ter que ocultar através de feature flags. Loke Wagner da Mozilla comentou que se o planejamento seguir conforme o esperado, em março de 2017, o Firefox 52 vai ter a funcionalidade ativada por padrão.

A Apple e o seu navegador Safari, desenvolvido com o WebKit, não estão na lista. Por enquanto, a Apple não se pronunciou oficialmente sobre isso, por outro lado, a equipe do WebKit está trabalhando nisso. Brendan Eich, criador do JavaScript, comentou que o progresso sobre a Apple trabalhando nisso é apenas especulação. Ben Titzer, representante da Google e co-chair do WebAssembly Community Group, disse que a Apple enviou representantes para um dos summits que ocorreu e aparentemente eles começaram a trabalhar na implementação, mas de maneira alguma ele pode falar em nome deles."

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT