Uma versão preliminar do padrão WebAssembly 2.0 está disponível

O consórcio W3C publicou um rascunho da nova especificação que padroniza o código intermediário WebAssembly 2.0 e a API associada, permitindo a criação de aplicações de alto desempenho que são portáteis entre navegadores e plataformas de hardware. O WebAssembly fornece um código intermediário universal de baixo nível independente do navegador para a execução de aplicações compiladas em várias linguagens de programação. Através do uso de JIT, o WebAssembly pode alcançar um nível de desempenho próximo ao código nativo.

A tecnologia WebAssembly pode ser utilizada para executar no navegador tarefas que exigem alta performance, como codificação de vídeos, processamento de áudio, manipulação de gráficos e 3D, desenvolvimento de jogos, operações criptográficas e cálculos matemáticos, permitindo a execução de código escrito em linguagens compiláveis, como C/C++.

Entre as principais funções do WebAssembly estão a garantia de portabilidade, previsibilidade de comportamento e identidade na execução do código em diferentes plataformas. Recentemente, o WebAssembly também tem sido promovido como uma plataforma universal para a execução segura de código em qualquer infraestrutura, sistemas operacionais e dispositivos, não se limitando apenas a navegadores.

O W3C publicou três especificações preliminares do WebAssembly 2.0:

  • WebAssembly Core - descreve uma máquina virtual de baixo nível para a execução do código intermediário WebAssembly. Os recursos relacionados ao WebAssembly são fornecidos no formato '.wasm', semelhante aos arquivos '.class' em Java e contendo dados estáticos e segmentos de código para trabalhar com esses dados.
  • WebAssembly JavaScript Interface — fornece uma API para integração com JavaScript. Permite obter valores e passar parâmetros para funções WebAssembly. A execução do WebAssembly segue o modelo de segurança do JavaScript, e toda interação com o sistema subjacente é realizada de maneira semelhante à execução de código JavaScript.
  • WebAssembly Web API - define uma interface de programação baseada no mecanismo Promise para solicitar e executar recursos '.wasm'. O formato dos recursos WebAssembly é otimizado para início de execução sem a necessidade de aguardar o carregamento completo do arquivo, o que melhora a responsividade das aplicações web.

As principais mudanças no WebAssembly 2.0, em comparação com a primeira versão do padrão:

  • Suporte ao tipo vetorial v128 e às instruções vetoriais associadas, que permitem a execução paralela de operações em múltiplos valores numéricos (SIMD, single instruction multiple data).
  • Possibilidade de importação e exportação de variáveis globais mutáveis, permitindo o uso de vinculação global para valores como ponteiros de pilha em C++.
  • Novas instruções para conversão de tipos float para int, que ao invés de gerar uma exceção ao exceder o resultado, retornam o valor mínimo ou máximo possível (necessário para SIMD).
  • Instruções para expansão de sinal de números inteiros (aumentando a largura do número mantendo o sinal e o valor).
  • Suporte para retornar múltiplos valores em blocos e funções (além da passagem de vários parâmetros para funções).
  • Implementação das funções JavaScript BigInt64Array e BigUint64Array para conversão entre o tipo BigInt do JavaScript e a representação de números inteiros de 64 bits em WebAssembly.
  • Suporte para tipos de referência (funcref e externref) e instruções associadas (select, ref.null, ref.func e ref.is_null).
  • Instruções memory.copy, memory.fill, memory.init e data.drop para copiar dados entre áreas de memória e limpar regiões de memória.
  • Instruções para acesso direto e modificação de tabelas (table.set, table.get, table.size, table.grow). Possibilidade de criar, importar e exportar várias tabelas em um único módulo. Funções de cópia/preenchimento de tabelas em modo batch (table.copy, table.init e elem.drop).

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster