WebAssembly - Visão geral

WebAssembly é uma nova linguagem de programação de computador para a web. O código WebAssembly é um formato binário de baixo nível, compatível com a web e pode ser executado facilmente em navegadores modernos. O tamanho do arquivo gerado é pequeno e carrega e executa mais rápido. Agora você pode compilar linguagens como C, C ++, Rust, etc. para o formato binário e pode ser executado na web como javascript.

Definição de WebAssembly

De acordo com o site oficial da WebAssembly, que está disponível em https://webassembly.org/, ele é definido como WebAssembly (abreviado como Wasm) é um formato de instrução binário para uma máquina virtual baseada em pilha. Wasm foi projetado como um destino portátil para compilação de linguagens de alto nível como C / C ++ / Rust, permitindo a implantação na web para aplicativos cliente e servidor.

Web Assembly não é algo que um desenvolvedor terá que escrever, mas o código é escrito em linguagens como C, C ++, Rust e pode ser compilado para WebAssembly (wasm). O mesmo código pode ser executado dentro dos navegadores da web.

Web Assembly é uma nova linguagem, o código é uma linguagem assembly de baixo nível, mas com seu recurso de formato de texto, o código é legível e a depuração é possível, se necessário.

Objetivos da WebAssembly

Os padrões abertos para WebAssembly são desenvolvidos em um W3C Community Group que inclui representantes de todos os principais navegadores, bem como um W3C Working Group.

Os principais objetivos do WebAssembly são mencionados abaixo -

  • Faster, Efficient and Portable - O código WebAssembly deve ser executado com mais rapidez em diferentes plataformas, aproveitando as vantagens do hardware disponível.

  • Easy to read and debug - WebAssembly, sendo uma linguagem assembly de baixo nível, tem suporte para formato de texto, que permite depurar o código para quaisquer problemas e também reescrever o código, se necessário.

  • Security - O WebAssembly é seguro para ser executado em navegadores da web, pois cuida das permissões e das políticas de mesma origem.

Vantagens do WebAssembly

A seguir estão as vantagens do WebAssembly -

  • Run is Modern Browsers - O WebAssembly pode ser executado sem problemas nos navegadores modernos disponíveis.

  • Multiple Language support- Linguagens como C, C ++, Rust, Go agora podem compilar o código para WebAssembly e executar o mesmo em navegadores da web. Portanto, os idiomas que não podiam ser executados em um navegador agora poderão fazê-lo.

  • Faster, Efficient and Portable - Devido ao pequeno tamanho do código, ele carrega e executa mais rápido.

  • Easy to understand- Os desenvolvedores não precisam se esforçar muito para entender a codificação do WebAssembly, pois não precisam escrever o código no WebAssembly. Em vez disso, compile o código em WebAssembly e execute o mesmo na web.

  • Easy to Debug - Embora o código final esteja em linguagem assembly de baixo nível, você também pode obtê-lo em formato de texto, que é fácil de ler e depurar.

Desvantagens da WebAssembly

A seguir estão as desvantagens do WebAssembly -

  • O WebAssembly ainda está sendo desenvolvido e é muito cedo para decidir seu futuro.

  • WebAssembly depende de javascript para interagir com o Document Object Model (DOM).