Em anúncios simultâneos, engenheiros do Google, Microsoft, Mozilla e da engine de browsers Webkit revelaram um novo projeto open source feito em conjunto. O WebAssembly (ou wasm) servirá como um novo formato binário para compilar aplicações para a web, permitindo basicamente que programadores executem programas de linguagens diferentes (por enquanto apenas C e C++) dentro da engine JavaScript dos browsers.
De certa forma, o sistema é uma evolução dos métodos criados para acelerar o carregamento de códigos em JS, como o já conhecido asm.js da Mozilla. Mas diferente dos métodos atuais, o wasm não faz com que os navegadores lidem direto com o código e “interpretem uma linguagem baseada em texto, que foi feita para humanos”, como explica o Ars Technica.
Em termos de funcionamento, ele na verdade se aproxima mais do .NET. O sistema usa o código-fonte da aplicação para criar um bytecode, uma instrução que pode ser interpretada mais rapidamente pela máquina virtual, o browser. Em testes, a representação intermediária gerada pelo wasm – que quer servir como um “alvo” único para compilação na web – foi até 20 vezes mais rápida para ser interpretada do que uma equivalente em asm.js.
A ideia dos engenheiros da Mozilla, do Chromium, do Edge e do Webkit (em que roda o Safari, da Apple) é transformar o WebAssembly em um padrão, mas sem necessariamente acabar com o JavaScript. “O novo formato foi feito para complementar, e não substituir o JS”, diz o FAQ na página do projeto no GitHub. “Enquanto o wasm permitirá, com o tempo, que muitas linguagens sejam compiladas para a web, o JS uma quantidade incrível de ímpeto e continuará como a única linguagem dinâmica para a web.”
Como ainda não virou um padrão adotado pela web, o WebAssembly conta com um polyfill (quase um add-on), um script que o converte para o asm.js – um subset do JavaScript, que é bem suportado pelas últimas versões dos browsers mais populares. Obviamente há uma perda de desempenho, mas isso ao menos facilita a transição enquanto os navegadores com suporte ao novo padrão – versões atualizadas do Chrome, do Edge, do Firefox e do Safari, entre outros programas do gênero – não se popularizam.
O desenvolvedor Luke Wagner, da Mozilla, explicou em seu blog que o desenvolvimento do formato binário ainda está bem no começo, algo reforçado por Brendan Eich, o idealizador do JavaScript. Mesmo assim, já dá para conferir alguns protótipos e documentações nas páginas do sistema na W3C e no GitHub.
0 comentários:
Enviar um comentário