Dart, Flutter, and WasmGC with Ömer Ağacan and Martin Kustermann
In this episode of WasmAssembly, your host Thomas Steiner is joined by Ömer Ağacan and Martin Kustermann from the Dart team at Google. They explore Dart, the language behind Flutter, and how Dart nearly landed in V8 alongside JavaScript, and why Flutter doubled down on Dart and WebAssembly Garbage Collection (WasmGC). Ömer and Martin then share insights on Dart’s performance leap from dart2js to dart2wasm, its potential beyond the browser, and what the WasmGC transition means for developers and the broader ecosystem. Finally, they look at Jaspr, Dart-only web apps, or how different browsers are handling WasmGC. This episode again is packed with sharp technical detail and bold visions for the future of WebAssembly. Resources: Dart → https://goo.gle/4kfijgD Flutter → https://goo.gle/4kh4jDi Before Flutter | Rubber Duck Engineering | Episode #100 → https://goo.gle/4nujV9g State of Developer Ecosystem Report → https://goo.gle/4lrmya6 What's new in Flutter → https://goo.gle/44xx0Gl Dart & Flutter momentum at Google I/O 2025 → https://goo.gle/3TgUr1p Accessibility in Flutter on the Web → https://goo.gle/4l2xfQB Stateful hot reload in DartPad → https://goo.gle/4nokFg1 WebAssembly (Wasm) compilation → https://goo.gle/3I8Ngpx Support for WebAssembly (Wasm) → https://goo.gle/45L0wdR WebAssembly Garbage Collection (WasmGC) now enabled by default in Chrome → https://goo.gle/3G7qLAS Wasm-feature-detect library → https://goo.gle/4evqS5Y A new way to bring garbage collected programming languages efficiently to WebAssembly → https://goo.gle/4keW0rt [dart2wasm] Support non-JS wasm runtimes → https://goo.gle/44wr3t3 Safari bug: Umbrella: Using Canvas image sources between different canvases and canvas types is slow → https://goo.gle/3TmuSvM Firefox bug: OffscreenCanvas.transferToImageBitmap incurs a copy → https://goo.gle/3GoIGD2 Ömer Ağacan on LinkedIn → https://goo.gle/4lA6fYB Martin Kustermann on LinkedIn → https://goo.gle/3TffQbc
--------
1:05:28
--------
1:05:28
Enabling in-browser scientific computing with Wasm: David Kircos of Quadratic
On this WasmAssembly podcast episode, host Thomas Steiner speaks with David Kircos from Quadratic. They discuss how Quadratic's spreadsheet utilizes WebAssembly to enable scientific computing directly in the browser, leveraging tools like Pyodide, pandas, and numpy. The conversation also covers practical challenges such as bundling large-scale Wasm applications, exploring browser limitations, and Quadratic's integration of AI. Resources: David Kircos on LinkedIn → https://goo.gle/4jcpQg6 Building on the modern web app architecture → https://goo.gle/4hPpcnH Pyodide → https://goo.gle/445YEv9 Pandas → https://goo.gle/4ldvkcp Numpy → https://goo.gle/3E1qSNb Esbuild-wasm → https://goo.gle/4hRqNJL Using JavaScript in a spreadsheet → https://goo.gle/3XIRk4W Making API requests from your spreadsheets → https://goo.gle/3FQQPja Quadratic Python roadmap: building a spreadsheet developers love → https://goo.gle/446dLot ES module integration proposal → https://goo.gle/3C8wd3L AI spreadsheets are here: Quadratic + GPT → https://goo.gle/4hZpFUB Database connectors → https://goo.gle/3QXMs8g SQLite Wasm → https://goo.gle/3FSn3dW Quadratic's GitHub organization → https://goo.gle/4jhWqNY
--------
45:55
--------
45:55
Wasm on feature phones with Cloud Phone's Thomas Barrasso
Feature phones? Yes, they still make them. And they run Wasm! In this WasmAssembly podcast, Thomas Steiner hosts Thomas Barrasso from CloudMosa to talk about the Cloud Phone platform and what it takes to run WebAssembly on tiny feature phones by streaming Web apps from a remote server that runs Chromium. Resources: Thomas Barrasso on LinkedIn → https://goo.gle/3Fxbvwg CloudMosa (Puffin) → https://goo.gle/42bNe7M Cloud Phone → https://goo.gle/4c0xfwB Building web apps for Cloud Phone → https://goo.gle/4bz1Pxn Cloud Phone simulator → https://goo.gle/4c0fRYZ KaiOS → https://goo.gle/4kx6C6z Puffin Cloud Isolation → https://goo.gle/4bFMxqK Telegram client for KaiOS → https://goo.gle/3DRL581 Wasm implementation of algorithms used in Telegram → https://goo.gle/43PTDH1 Stolen Focus book → https://goo.gle/43PTDH1 Reach out → https://goo.gle/4bY9BRs Thomas' email: [email protected]
--------
55:47
--------
55:47
WebGPU and wasi-gfx with renderlet
In this WasmAssembly podcast episode, Sean Isom and Mendy Berger from renderlet join host Thomas Steiner. Discover renderlet, a WebAssembly framework for writing graphics code that runs on any platform. Resources: Mendy Berger on LinkedIn → https://goo.gle/4b1y205 Sean Isom on LinkedIn → https://goo.gle/4hyO8Rb Renderlet → https://goo.gle/3QsfjRy renderlet Wasm I/O talk → https://goo.gle/42Z4nm4 renderlet Wasm I/O slides → https://goo.gle/4b7qCs1 Drawing to canvas in Emscripten → https://goo.gle/4i4Kazu Multi-draw indirect GPU feature → https://goo.gle/3EH8zNg Mesh shaders → https://goo.gle/40Y2Jyu Work graphs → https://goo.gle/42X96ot When in doubt, writeBuffer() → https://goo.gle/4jWjLWm Fine grained control of memory proposal → https://goo.gle/4hHMvkj Streams.wit → https://goo.gle/4gHkQhT wasi-gfx talk: → https://goo.gle/4gU0tyo wasi-gfx proposal → https://goo.gle/3QmYY0z Web IDL → https://goo.gle/3X7Ea10 WIT → https://goo.gle/3CYzp2W Webidl2wit → https://goo.gle/412whef Mendy Berger on Mastodon → https://goo.gle/3D7XPXH Sean Isom on X → https://goo.gle/41lY5vN
--------
54:02
--------
54:02
Protecting apps with Arcjet through WebAssembly
WebAssembly is known for its speed and security, but can it be applied to enhance application security as a whole? Join Arcjet's CEO David Mytton and host Thomas Steiner on WasmAssembly as they delve into Arcjet’s innovative use of Wasm for crucial security functions like bot detection, rate limiting, and data redaction, providing developers with a powerful yet manageable security toolkit. Resources: Squishy Wasm apps using Extism with Dylibso's Steve Manuel - WasmAssembly → https://goo.gle/3VFcf7J David Mytton's blog → https://goo.gle/3C7kXFv Console Devtools podcast episode with Fermyon's Matt Butcher → https://goo.gle/3C8mQBQ Arcjet → https://goo.gle/40r7dNH Arcjet Wasm blog posts → https://goo.gle/3WqTNQG Arcjet example app → https://goo.gle/3E3We5n @arcjet/next package → https://goo.gle/3DXvyDh Arcjet JS SDK → https://goo.gle/4h4UyqY Jco → https://goo.gle/4ecjdIC jco example → https://goo.gle/4gwhBLu Wasm-bindgen → https://goo.gle/3WrZVs0 Arcjet-js PR where we switched, with some comments on reasoning → https://goo.gle/4hHkJEf Componentize-py → https://goo.gle/3CdOUUn Componentize-dotnet → https://goo.gle/42oiNMu ComponentizeJS → https://goo.gle/3OUNjFG Wasm Interface Type (WIT) → https://goo.gle/4fnXMFf Extism → https://goo.gle/3E5waa2
WebAssembly (abbreviated Wasm, a contraction of “WebAssembly”, not an acronym, hence not using all-caps) is a safe, portable, low-level code format designed for efficient execution and compact representation. An assembly is a group of people gathered together in one place for a common purpose. In this show with the whimsical name WasmAssembly (get it?), Thomas Steiner, Developer Relations Engineer at Google, chats with experts from the community about the past, present, and future developments happening in the world of WebAssembly.