WebAssembly
WebAssembly (Wasm) es un formato binario de bajo nivel que se ejecuta en el navegador a velocidad casi nativa. No se escribe a mano normalmente: lenguajes como Rust, C++ o Go compilan a Wasm para llevar al navegador tareas pesadas (juegos, edición, IA).
- Creado por W3C (consorcio)
- Año 2017
- Paradigma: Bajo nivel · compilado
- Extensiones: .wasm, .wat
Para qué se usa
- Apps web de alto rendimiento
- Juegos en el navegador
- Portar código nativo a la web
A favor
- Velocidad casi nativa
- Destino de muchos lenguajes
- Seguro y portable
En contra
- No se escribe a mano
- Aún en evolución
- Acceso al DOM indirecto
Ecosistema
- Emscripten
- wasm-pack
- WASI
- wasmtime
- wat2wasm
Ejemplo
(module
(func (export "main") (result i32)
i32.const 42))