Show Notes
episode 24: WebAssembly and Rust in Practice, A Conversation with Alex Crichton.
In this episode we sit down with Alex Crichton to talk about WebAssembly and Rust in practice. We discuss how Wasm grew beyond the browser into a serious runtime for servers and plugins, and why Rust fits so well in this space.
We also explore WASI, the component model, and lessons from building Wasmtime, covering performance, security, and what it takes to run Wasm in production.
Learn more:
https://github.com/alexcrichton — Alex Crichtton on GitHub https://webassembly.org/ — WebAssembly overview and introduction https://wasi.dev/ — WASI introduction and goals https://component-model.bytecodealliance.org/ — WebAssembly component model documentation https://bytecodealliance.org/ — Bytecode Alliance home page https://wasmtime.dev/ — Wasmtime runtime home page https://docs.wasmtime.dev/ — Wasmtime documentation https://docs.rs/wasmtime/latest/wasmtime/ — Wasmtime Rust API documentation https://github.com/bytecodealliance/wasmtime — Wasmtime source code https://github.com/bytecodealliance/wasm-tools — wasm tools used throughout the Wasmtime ecosystem https://github.com/bytecodealliance/wit-bindgen/ — wit bindgen tooling for the component model https://webassembly.github.io/spec/ — WebAssembly specification rendering https://github.com/WebAssembly/WASI — WASI specification repository https://github.com/WebAssembly/proposals/ — Active WebAssembly proposals https://bytecodealliance.org/articles/ — Bytecode Alliance blog and technical articles
Rama
If you like this podcast you might also like our modular network framework in Rust: https://ramaproxy.org
Chapters
00:00 Intro 00:42 Introduction to Alex Crichton and His Journey 04:14 Understanding WebAssembly: Basics and Benefits 07:35 Challenges of WebAssembly and DOM Access 16:29 Exploring WASI: The WebAssembly System Interface 31:11 The Relationship Between WebAssembly and WASI 34:43 Understanding WebAssembly Instructions 37:09 The Role of Compilers in WebAssembly 40:07 Exploring Roto and WebAssembly Integration 42:19 Garbage Collection in WebAssembly 44:17 Dynamic Libraries and Code Sharing in WebAssembly 45:49 Core WebAssembly and Its Layers 48:39 The Component Model's Evolution 51:25 String Handling in WebAssembly 54:26 Simplifying WebAssembly for Developers 55:30 Specifications and Documentation in WebAssembly 57:31 Asynchronous Support in the Component Model 01:01:29 Exploring WASI P3 and Async Support 01:10:36 More about the Component Model 01:22:39 The Role of the Bytecode Alliance 01:26:57 Akamai's Interest in WebAssembly 01:31:29 Exploring WebAssembly Use Cases 01:37:27 Future of WasmTime Development 01:40:24 Understanding WasmTime's Architecture 01:44:34 Getting Started with WasmTime 01:51:19 Security and Testing in WasmTime 01:56:11 Outro
Netstack.FM
More information: https://netstack.fm/#episode-24 Join our Discord: https://discord.gg/29EetaSYCD Reach out to us: [email protected]
Music for this episode was composed by Dj Mailbox. Listen to his music at https://on.soundcloud.com/4MRyPSNj8FZoVGpytj
More from netstack.fm
Episode 38: Building and testing network stacks with Rama. In this Protocol Shorts episode of Netstack.fm, Glen talks with Brecht Stamper about Rama, the modular Rust framework for building clients, servers, proxies, and other network systems. Brecht shares how he came to understand Rama’s core idea that everything is a service, and why that simple input to output contract makes it easier to compose complex stacks without constantly inventing new traits or glue code.
episode 37: dial9: from black box to insight in Tokio.
Remaster of: Season 1 · Episode 3 — OpenTelemetry, eBPF, and Metoro
Remaster of: Season 1 · Episode 5 — Tokio with Carle Lerche