A maioria dos sites e aplicativos da web são escritos em JavaScript, ou pelo menos algo que é convertido para JavaScript. Houve muitas tentativas ao longo dos anos para mudar isso, mas não espere que o JavaScript desapareça completamente tão cedo.
Zaplib é uma empresa iniciante que criou uma estrutura para reescrever partes de aplicativos da web baseados em JavaScript na linguagem de programação Rust, que seria então executada em navegadores da web usando WebAssembly . Rust é uma linguagem de programação de baixo nível otimizada para desempenho e segurança, e muitos aplicativos usaram Rust para melhorar significativamente o tempo de carregamento e a capacidade de resposta. A Mozilla reescreveu o mecanismo CSS no navegador Firefox usando Rust em 2017, como parte da atualização ‘Firefox Quantum’, que dobrou o desempenho típico do Firefox . O WebAssembly permite que os sites escrevam seu código em linguagens de programação mais tradicionais, como C++, e executem-no em um navegador da web, assim como o JavaScript.
Zaplib esperava que reescrever aplicativos da web em WebAssembly com tecnologia Rust, uma seção por vez, resultaria em aumentos de desempenho de até 10x. No entanto, os fundadores da empresa disseram numa “post-mortem” que os grandes saltos não deram certo. “Nossa aposta era que seria 10 vezes mais ergonômico acelerar seu aplicativo, gradativamente, em Rust. Isso não se sustentou em implementações no mundo real”, disse a equipe.
O grupo notou alguns problemas com seu plano. A maioria das empresas hesitava (compreensivelmente) em reescrever seu código em uma linguagem com a qual seus engenheiros talvez não estivessem familiarizados, mas o mais importante é que não havia uma diferença significativa de velocidade entre um bom código JavaScript e um bom código Rust. Zaplib ajudou uma empresa a portar uma ferramenta de simulação para Rust, que acabou sendo apenas 5% mais rápida que a versão JavaScript existente. Zaplib também esperava que seu renderizador 2D acelerado por hardware ajudasse, mas a maior parte do aumento de desempenho veio do WebGL, que não precisa de Rust ou WebAssembly.
Isso não significa que o WebAssembly seja terrível ou inútil – o Google Earth e o Photoshop foram portados para navegadores da Web graças ao WebAssembly, e empresas como a Microsoft estão construindo estruturas para que mais desenvolvedores façam a mesma transição. Há absolutamente uma razão para ele existir, mas o JavaScript também evoluiu significativamente nos últimos anos. O mecanismo ‘V8’ que lida com código JavaScript no Chrome, Microsoft Edge e outros navegadores baseados em Chromium está cada vez mais rápido. Otimizações recentes tornaram o Chrome o navegador mais rápido disponível no Mac , de acordo com o Google, e outras mudanças também aceleraram as versões do Windows e do Android.
O WebAssembly já está trazendo uma nova onda de aplicativos para a web que não poderiam existir há alguns anos, mas não espere que todo o JavaScript desapareça tão cedo. Zaplib disse em seu post: “geralmente existem maneiras mais simples de encontrar melhorias de desempenho do que Rust [ou WebAssembly]”.
Fonte: Zaplib