Web­Assembly

¿Por qué Rust?

Engranajes

Rendimiento predecible

Sin pausas impredecibles del colector de basura. Sin caídas en el rendimiento del compilador JIT. Sólo control de bajo nivel combinado con ergonomía de alto nivel.

Un microscopio

Código generado reducido

Reducir el código generado significa páginas que cargan más rápido. El .wasm generado por Rust no incluye relleno, como un colector de basura. El código muerto se elimina mediante tree shaking y optimizaciones avanzadas.

Equipaje

Comodidades modernas

Un activo ecosistema de librerías para ayudarte a no empezar de cero. Abstracciones expresivas de coste cero. Y una comunidad que te ayuda a aprender.

¡Comenzar!

Logo de WebAssembly

Aprende más sobre WebAssembly, una máquina virtual rápida, segura y abierta, y lee su especificación.

Saber más
Ferris y Wasm

¡Aprende cómo construir, depurar, optimizar y desplegar aplicaciones WebAssembly usando Rust!

Leer el libro
Logo de MDN

Aprende más sobre WebAssembly en Mozilla Developer Network

Echar un vistazo

Funciona bien junto a JavaScript

Amplía, no reemplaza

El sueño de WebAssembly no es eliminar a JavaScript, sino funcionar conjuntamente, potenciando tareas de bajo nivel o de fuerte procesamiento — tareas que se benefician del enfoque de Rust en el rendimiento.

Funciona con las herramientas conocidas

Publica paquetes de WebAssembly hechos en Rust en registros como npm. Empaqueta y sírvelos con webpack, Parcel u otros. Mantenlos usando npm audit o Greenkeeper.

Interoperación sin trabas

Genera código automáticamente que una APIs en Rust, WebAssembly y JavaScript. Aprovecha bibliotecas como web-sys que te permiten acceder a toda la plataforma web.

Uso en producción

Logo de Cloudflare
Podemos compilar Rust a WASM e invocarlo desde funciones serverless engarzadas en la estructura misma de Internet. Es tremendo, estoy deseando seguir por este camino.

– Steven Pack, Serverless Rust with Cloudflare Workers

La implementación [de la biblioteca de source-map] en JavaScript había crecido en código complicado por razones de rendimiento, y la reemplazamos por Rust idiomático. Rust no te hace elegir entre expresar claramente tu propósito y el rendimiento en tiempo de ejecución.

– Nick Fitzgerald, Oxidizing Source Maps with Rust and WebAssembly

Dropbox
Estas propiedades de [Rust] facilitan embeber el codec de DivANS en una página web con WASM, como hemos visto.

– Daniel Reiter Horn y Jongmin Baek, Building Better Compression Together with DivANS