WebAssembly está pronto para ser usado pelos browsers

Da Redação, com IDG News Service
06/03/2017 - 11h22
Em breve, o formato será suportado pelo Chrome e pelo Firefox, podendo chegar ao Edge e ao Safari até o fim do ano, segundo engenheiro da Mozilla

O WebAssembly, novo formato binário para compilar aplicações que pode tornar a Web mais rápida, acaba de ganhar o status de mínimo produto viável (MVP), pronto para ser adotado como padrão por fornecedores de browsers.

Em uma publicação recente em uma lista de discussão do World Wide Web Consortium, Luke Wagner, Mozilla Senior Staff Engineer, afirma que representantes de quatro dos principais navegadores (Chrome, Microsoft Edge, Firefox e WebKit/Safari) concordam que o design e o formato binário estão completos.

A partir de agora os recursos serão projetados para garantir a compatibilidade com versões anteriores, disse Wagner, que tem trabalhado no WebAssembly. "Esperamos ver o WebAssembly no Firefox e no Chrome este mês", completou. "Não podemos falar em data de lançamento para o Edge e o Safari, mas como os motores de ambos os navegadores são de código aberto, podemos observar implementações compatíveis, o que lhes permitiria adotar o recursos este ano".

Hoje, desenvolvedores podem testar o WebAssembly usando a cadeia de ferramentas Emscripten. As próximas etapas para o projeto, iniciado em 2015, incluem a formação de um grupo de trabalho W3C para produzir uma especificação para a versão inicial do WebAssembly e para manter a iteração em recursos futuros.

Vale lembrar que o WebAssembly é um esforço altamente elogiado para executar aplicativos web nos browsers em velocidades quase nativas e permitir que outras linguagens de programação sejam usadas,  além do JavaScript. O esforço foi elogiado pelo fundador do JavaScript, Brendan Eich, que recentemente expressou preocupação com a possibilidade de os quatro maiores fornecedores de browsers possam fazer implementações próprias, comprometendo o projeto. Algo que Wagner descarta. Segundo ele, representantes dos quatro browsers participaram ativamente do WebAssembly Community Group.

Um dos objetivos do projeto é superar as limitações do JavaScript, adicionando novas funcionalidades para aplicativos Web, até mesmo aumentando a velocidade de execução. Na prática, o WebAssembly é uma melhoria para o JavaScript; uma nova linguagem; uma melhoria para os Browsers, que entenderão esse formato binário; e forma de suportar outras linguagens na plataforma Web (C++ e Python, por exemplo), que poderão ser compiladas paraWebAssembly e rodar no navegador como código binário.

"Isso permitirá que os desenvolvedores tragam funcionalidades e experiências para a web, hoje limitadas pelo uso do JavaScript", explica Wagner. Como o WebAssembly pode ser usado como uma biblioteca de JavaScript, os desenvolvedores de JavaScript podem utilizar o desempenho do WebAssembly por meio de bibliotecas e frameworks.

"Um requisito para suportar um idioma é que o WebAssembly fornece os recursos necessários para executar esse idioma de forma eficiente. Para muitos idiomas, isso requer a adição de recursos de gerenciamento de memória para o WebAssembly, que está no roteiro, mas levará pelo menos um ano ou dois", afirma Wagner. O outro desafio de suportar uma linguagem é portar bibliotecas de idiomas e estruturas para execução em um navegador e uso de APIs da Web.