A partir daí, abstraímos as coisas ainda mais para executar o código em um navegador. Atualmente, o navegador funciona quase como um sistema operacional, minimizando a dependência do desenvolvedor no sistema operacional subjacente. O Chrome, por exemplo, é executado no Windows, Android, iOS e MacOS, executando o código dentro de sua própria caixa de areia controlada. É uma abstração mais profunda do que o tempo de execução da JVM ou .NET.

E é por isso que Wasm me fascina. Ele tem o potencial de realmente responder ao chamado de “Escreva uma vez, execute por toda parte”. Essa era a grande esperança de Java, mas não demorou muito para que esse aforismo se tornasse “Escreva uma vez, depra em todos os lugares”.

Embora o WASM ainda não “corra em todos os lugares”, seu uso está se expandindo constantemente além do navegador. A adoção mais ampla, particularmente no lado do servidor, parece inevitável. No momento, o WASM é mais útil para fazer operações computacionalmente intensas, como jogos e criptografia. Como o navegador é o alvo de uma parte grande e cada vez maior das aplicações, é lógico que o WASM se tornará ainda mais amplamente utilizado.