Skip to content
Artwork for netstack.fm
netstack.fm · January 27 · 1 hr 57 min

WebAssembly and Rust in Practice, A Conversation with Alex Crichton

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: hello@netstack.fm Music for this episode was composed by Dj Mailbox. Listen to his music at https://on.soundcloud.com/4MRyPSNj8FZoVGpytj

0:00-1:57:09

transcript

No transcript — this publisher did not publish one.

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: hello@netstack.fm

Music for this episode was composed by Dj Mailbox. Listen to his music at https://on.soundcloud.com/4MRyPSNj8FZoVGpytj