Building Software Extensions in Rust using WebAssembly Components
summary
Claims that WebAssembly Components let Rust export rich types without C FFI and solve the ABI problem by using the component model and interface types the talk shows concrete tooling and results: used wasm-time executor, wit-bindgen and cargo component, targets require Rust 1.82, and examples include Zed Zellij and a Junkyard demo that works. Compile time for Rust plugins is about 5–10 seconds (JS slower), native file read 200 ms versus ~1 s with wasm, resource management stays manual and caching plus signature checks are necessary.
AI-written summary · about
chapters (17)
- 0:00WebAssembly extensions intro
- 2:25Traditional extension limits
- 5:19Why WebAssembly for extensions
- 8:09WASI preview one
- 12:09Zellij case study
- 15:25Component Model benefits
- 19:22WIT interfaces and types
- 25:49Rust extension step-by-step
- 31:06Host-side resource management
- 35:24Plugin-side Rust & JS
- 47:31Lessons and WebAssembly future
- 51:04Q&A: Plugin composition
- 52:29Q&A: Async support
- 54:16Q&A: Components vs core modules
- 57:50Q&A: Memory sharing
- 58:11Q&A: Async in WASI
- 59:14Q&A: AOT vs JIT
related talks
41mLet's build with WebAssembly!
37mWebAssembly with Rust
53mDeveloping WebAssembly Rust plugins for Zellij
25mThink About Front-end Web Development with Rust
33mWebpack + WebAssembly the future
13mRust and WebAssembly
18mAn introduction to the WebAssembly component model
47mRewrite the web with Rust and Web Assembly
