When to use this skill
ALWAYS use this skill when the user mentions:
- Running Rust code as WASM in the Tauri frontend
- WASM vs IPC performance trade-offs
- High-performance frontend computation
Trigger phrases include:
- "WASM", "WebAssembly", "wasm-pack", "Rust in browser", "frontend performance"
How to use this skill
- Set up a WASM crate alongside your Tauri project:
cargo install wasm-pack wasm-pack new my-wasm-lib - Build Rust code to WASM:
wasm-pack build --target web my-wasm-lib - Import the WASM module in your frontend:
import init, { process_data } from '../my-wasm-lib/pkg'; await init(); const result = process_data(inputBuffer); - Choose WASM vs IPC:
- Use WASM for CPU-bound computation that doesn't need system APIs (image processing, crypto, parsing)
- Use IPC (invoke) for anything requiring OS access (file system, network, notifications)
- Monitor bundle size impact -- WASM modules add to the frontend bundle
- Benchmark to verify WASM gives measurable performance gains over JavaScript
Outputs
- WASM crate setup and build pipeline
- Frontend WASM module import pattern
- WASM vs IPC decision framework
References
- https://v2.tauri.app/develop/calling-rust/#wasm
- https://crates.io/crates/tauri-wasm
Keywords
tauri wasm, WebAssembly, wasm-pack, Rust wasm, frontend performance