Microsoft, Google e ARM uniram-se à Bytecode Alliance para melhorar o desenvolvimento do WebAssembly. Conheça e melhor essa iniciativa.
No final de 2019, em um esforço conjunto para tornar o WebAssembly um runtime de computação de plataforma cruzada, empresas como Mozilla, Fastly, Intel e Red Hat anunciaram o lançamento da Bytecode Alliance.
Esta iniciativa construída em torno do WebAssembly se concentra em fornecer um bytecode padrão seguro que pode ser executado a partir de um navegador da web, desktop ou plataforma IoT/incorporada.
O WebAssembly tem sido apresentado como uma arquitetura de conjunto de instruções virtuais com muitos casos de uso capazes de pegar código escrito em linguagens de programação diferentes de JavaScript e executar esse código em uma plataforma específica, pelo menos um navegador neste caso.
Essa solução também deve permitir que aplicativos complexos, como videogames 3D imersivos, design computadorizado ou edição de imagem e vídeo funcionem de maneira ideal nas plataformas de destino.
Graças ao WebAssembly, os desenvolvedores podem, por exemplo, codificar seus aplicativos em C, C++ ou Rust e executar esses programas em velocidade nativa em um navegador da web, sem ter que passar pelo JavaScript novamente com as limitações que isso impõe.
De acordo com os promotores da iniciativa, o surgimento da nuvem e dos dispositivos IoT está fazendo com que os desenvolvedores executem códigos não confiáveis em novos ambientes, trazendo novos problemas, principalmente em termos de segurança e portabilidade.
A Bytecode Alliance deve fornecer uma base para que os desenvolvedores executem com segurança códigos não confiáveis em qualquer infraestrutura, sistema operacional e dispositivo.
Esta comunidade de código aberto se concentrará na configuração de um ambiente de tempo de execução e cadeias de ferramentas linguísticas associadas, incluindo cargo-wasi, wat e wasmparser, que fornecem segurança, eficiência e modularidade em uma ampla gama de arquiteturas e periféricos.
E agora novos grandes nomes se juntaram, como Microsoft, Arm, DFINITY Foundation, Embark Studios, Google, Shopify e a University of California San Diego.
Microsoft, Google e ARM uniram-se à Bytecode Alliance
Em um comunicado, Bobby Holley, um distinto engenheiro da Mozilla e membro do conselho da Bytecode Alliance, descreveu o desenvolvimento de software atual como um conjunto de trocas difíceis.
Holley disse que:
“Se você deseja construir algo grande, não é realista construir todos os componentes do zero. Mas contar com uma cadeia de suprimentos complexa para componentes de outros lugares permite que uma falha em qualquer parte da cadeia comprometa a segurança e a estabilidade de todo o programa. A Mozilla ajudou a criar o WebAssembly para permitir que a web cresça além do JavaScript e execute mais tipos de software em velocidades mais rápidas. Mas, à medida que amadurecia, ficou claro que as propriedades técnicas do WebAssembly, particularmente seu isolamento de memória, também tinham o potencial de transformar o desenvolvimento de software além do navegador. Várias outras organizações compartilharam esse ponto de vista e nos associamos para lançar a Bytecode Alliance como uma associação informal da indústria no final de 2019.”
“Ferramentas como contêineres podem fornecer algum grau de isolamento, mas adicionam sobrecarga substancial e são inconvenientes para uso com granularidade pelo fornecedor. E todas essas dinâmicas reforçam as vantagens de grandes empresas que dispõem de recursos para gerenciar e auditar cuidadosamente suas cadeias de abastecimento.”
Além disso, é mencionado que os membros fundadores compartilharam várias ferramentas WASM com a Bytecode Alliance, incluindo ambientes de tempo de execução, componentes de tempo de execução e muito mais.
Agora, com a Microsoft, Google e Mozilla a bordo, a Bytecode Alliance é suportada por três dos quatro principais fornecedores de navegadores.
O editor do Safari, a Apple, é o único grande provedor de navegadores que falta. Com um apoio mais amplo, a aliança oferece a si mesma uma chance melhor de sobrevivência a longo prazo.
“O WebAssembly e a nova especificação WebAssembly System Interface (WASI) permitem que soluções nativas da nuvem se tornem mais seguras por padrão e ajudam a resolver problemas de TI em uma variedade de ambientes”, disse Ralph Squillace, gerente de programa sênior da Microsoft no Azure Core Upstream and board membro da Bytecode Alliance.
O trabalho da Microsoft no WebAssembly inclui o lançamento do Blazor WebAssembly, que permite que os desenvolvedores C# e .NET criem aplicativos que rodam no navegador com WebAssembly, mas funcionam como um aplicativo de desktop nativo, também conhecido como aplicativos Web progressivos.
O Blazor WebAssembly é uma das quatro versões do Blazor Project da Microsoft, que inclui a renderização do Blazor Server com suporte para aplicativos da web, um renderizador Electron e as ligações experimentais Mobile Blazor lançadas recentemente para a construção de aplicativos iOS e Android nativos usando C# e .NET em vez de JavaScript.