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