O W3C tornou o WebAssembly um padrão recomendado

No mês passado nós compartilhamos aqui no blog sobre a notícia de que Mozilla, Fastly, Intel e Red Hat se uniram para desenvolver as tecnologias que fazem Webassembly. (Se quiser saber mais sobre as novidades, pode consultá-lo neste link) e agora algumas semanas depois dessa notícia O Consórcio W3C anunciou que a tecnologia Webassembly. tornou-se o padrão recomendado.

Para quem não está familiarizado com WebAssembly eles deveriam saber que isso fornece um middleware universal de baixo nível independente do navegador para executar aplicativos compilado de várias linguagens de programação. O WebAssembly está posicionado como a tecnologia cross-browser mais promissora e portátil para a construção de aplicativos da web de alto desempenho.

Web Assembly se pode ser usado para resolver tarefas que requerem alto desempenho, por exemplo, codificação de vídeo, processamento de som, gráficos e manipulação 3D, desenvolvimento de jogos, operações criptográficas, cálculos matemáticos e a criação de implementações portáteis de linguagens de programação.

Webassembly. se parece muito com Asm.js, mas difere por ser um formato binário que não está vinculado ao JavaScript. O WebAssembly não requer o uso de um coletor de lixo, uma vez que o gerenciamento de memória explícito é usado.

Uma característica distintiva do modelo de execução de aplicativos que usam WASI está lançando em um ambiente sandbox isolar do sistema principal e utilizar um mecanismo de segurança baseado na gestão da capacidade, para ações com cada um dos recursos (arquivos, diretórios, sockets, chamadas de sistema, etc.)

Ao habilitar o JIT para WebAssembly, você pode atingir níveis de desempenho próximos do código nativo. Entre as principais tarefas do WebAssembly está o fornecimento de portabilidade, previsibilidade de comportamento e identidade de execução de código em diferentes plataformas.

Web Assembly 1

Recentemente, WebAssembly também está avançando como uma plataforma universal para executar o código com segurança em qualquer infraestrutura, sistema operacional e dispositivo, não se limitando a navegadores.

W3C padronizou três especificações relacionado ao WebAssembly:

  1. Núcleo do WebAssembly- Definida como uma máquina virtual de baixo nível que imita de perto a funcionalidade de muitos microprocessadores em que é executada. Por meio de compilação ou interpretação Just-In-Time, o mecanismo WebAssembly pode ser executado quase na velocidade do código compilado para uma plataforma nativa.
    Um recurso .wasm é análogo a um arquivo .classe de Java no sentido de que contém dados estáticos e segmentos de código que operam nesses dados estáticos. Ao contrário do Java, WebAssembly geralmente é produzido como um destino de compilação para outras linguagens de programação, como C / C ++ e Rust.
  2. API WebAssembly: define uma interface de programação baseada no mecanismo Promise para solicitar e executar recursos ".wasm". O formato do recurso WebAssembly é otimizado para iniciar a execução sem esperar que o arquivo seja totalmente carregado, melhorando a capacidade de resposta dos aplicativos da web.
  3. Interface JavaScript WebAssembly: fornece uma API para integração com JavaScript. Permite obter valores e passar parâmetros para funções WebAssembly. A execução do WebAssembly corresponde ao modelo de segurança JavaScript, e toda interação com o host é realizada de forma semelhante à execução do código JavaScript.

No futuro, pretende-se preparar especificações para funções WebAssembly, como:

  • Multithreading com memória compartilhada e acesso à memória atômica.
  • Operações vetoriais baseadas em SIMD, que permitem paralelizar a execução de ciclos.
  • Tipos de referência para referências diretas a objetos no código WebAssembly.
  • Capacidade de chamar funções sem gastar espaço adicional na pilha.
  • Integração com módulos ECMAScript: a capacidade de carregar o código WebAssembly de JavaScript como módulos que estão em conformidade com a especificação ECMAScript 6.
  • A forma de trabalhar com o coletor de lixo.
  • Interfaces de depuração.
  • WASI (WebAssembly System Interface): API para interação direta com o sistema operacional (POSIX API para trabalhar com arquivos, sockets, etc.).

Se você quiser saber mais sobre isso, pode consultar a nota original no link a seguir.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.