Bootstrapping Ecosystems: Unveiling the Power of the Component Model
summary
The WebAssembly Component Model demonstrably lets a new language grab mature libraries from other ecosystems: a Grain HTTP app calls a Rust base64 crate via a hand-written WIT interface, Rust is packaged with cargo component, bindings are generated with wit-bindgen, components are published to a registry and composed with wack, then run with wasmtime serve. The result is a composed component that serves JSON with a base64 avatar; the demo builds, composes, and serves successfully in minutes, showing true cross-language reuse rather than language-locked libraries.
AI-written summary · about
chapters (17)
- 0:00Grain and WebAssembly intro
- 1:47Language ecosystem challenges
- 4:33Component model and interop
- 7:21Live demo setup
- 10:30Base64 wit interface
- 13:02Publish and fetch components
- 14:30Rust Base64 component
- 18:26Grain bindings for Base64
- 21:12Build Grain app
- 22:58Link with wack
- 25:26Run composed component
- 26:51Key takeaways
- 27:12Get involved in Grain
- 28:44Q&A: WebAssembly features
- 30:27Q&A: Package manager integration
- 32:13Q&A: Developer experience
- 33:40Q&A: End-user apps
related talks
18mAn introduction to the WebAssembly component model
34mWasm Components for Every Language
01h 01mAn introduction to WebAssembly components
16mThe nuts and bolts of WebAssembly's component model
30mWasm Component Composition: A New Era of Language Interoperability
31mWebAssembly Component Model: Enhancing Security, Productivity, and...
01h 01mBuilding Software Extensions in Rust using WebAssembly Components
34mWasm Components: The Interchangeable Parts of Software
