WebAssembly
Por que Rust?
Desempenho previsível
Sem pausas imprevisíveis pelo Garbage Collector. Sem quedas de performance causadas pelo compilador JIT. Apenas controle de baixo nível acompanhado de ergonomia de alto nível.
Código pequeno
Código pequeno significa páginas carregando mais rápidamente. wasm
gerado por Rust não inclui nada extra, como um garbage collector. Otimizações avançadas e técnica de tree shaking para remoção de código não usado.
Amenidades modernas
Um ecossistema ativo de bibliotecas para te ajudar a começar seus projetos rapidamente. Expressivo, abstrações de custo zero. E uma comunidade acolhedora para te ajudar a aprender.
Comece agora!
Aprenda mais sobre a máquina virtual rápida, segura e aberta, chamada WebAssembly, e leia as suas normas.
Aprenda maisAprenda a criar, depurar, perfilar e implantar aplicações WebAssembly usando Rust!
Leia O LivroAprenda mais sobre WebAssembly na Rede de Desenvolvimento da Mozilla (MDN).
ConfiraFunciona bem com JavaScript
Melhore, não substitua
O sonho do WebAssembly não é acabar com o JavaScript, mas sim trabalhar junto para ajudar a lidar com tarefas de processamento pesado ou de baixo nível — tarefas que se beneficiam do foco de Rust em performance.
Funciona com conjunto de ferramentas familiares
Publique pacotes de Rust WebAssembly em registros de pacotes como npm. Integre com o webpack, Parcel, e outros. Mantenha seus pacote com ferramentas como npm audit
e Greenkeeper.
Interoperabilidade homogênea
Gere automaticamente integração entre Rust, WebAssembly, e JavaScript. Aproveite de bibliotecas como web-sys
que provê integrações pré-empacotadas para toda a plataforma web.
Uso em produção
Você pode compilar Rust para WASM, e chamar o código a partir de funções Serverless amarradas as fundações da Internet. Isso é incrível e mal posso esperar para trabalhar mais nisso.
– Steven Pack, Serverless Rust with Cloudflare Workers
A implementação em JavaScript [da biblioteca de source-map
] acumulou muito código complicado em nome de performance, e nos trocamos isso por código idiomático em Rust. Rust não nos força escolher entre expressar claramente nossas intenções e performance durante execução.
– Nick Fitzgerald, Oxidizing Source Maps with Rust and WebAssembly
As propriedades [do Rust] torna fácil embarcar o codec DivANS em uma página web com WASM, como mostramos acima.
– Daniel Reiter Horn e Jongmin Baek, Building Better Compression Together with DivANS