WebAssembly (WASM)
Build high-performance web apps with WebAssembly. Generates Rust-to-WASM bindings with wasm-bindgen, AssemblyScript modules, WASI components, memory management patterns, and JavaScript interop layers.
This skill helps you use WebAssembly for performance-critical web applications. It generates Rust WASM modules with wasm-bindgen and wasm-pack, writes AssemblyScript for TypeScript-familiar WASM, creates WASI components with the component model, manages linear memory and shared buffers, implements Web Workers with WASM threading, and integrates with JavaScript via import/export bindings. Covers image processing, crypto, and data compression use cases.
When to use
Use when building performance-critical web features, compiling Rust to WASM, creating AssemblyScript modules, implementing WASI components, or adding WASM to existing JS apps.
Examples
Image processing
Build a WASM image filter pipeline
Create a Rust WASM module that applies image filters (blur, sharpen, grayscale) to canvas pixels with wasm-bindgen, running in a Web Worker for non-blocking UI
WASI component
Build a portable WASI component
Create a WASI component in Rust that implements a JSON schema validator, compile with wasm-tools, and use it from both Node.js and a browser via the component model