Dart, Flutter, and WasmGC with Ömer Ağacan and Martin Kustermann

Subscribers:
792,000
Published on ● Video Link: https://www.youtube.com/watch?v=vgOABOvtBT8



Duration: 0:00
2,616 views
54


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, and how different browsers are handling WasmGC. This episode again is packed with sharp technical detail and bold visions for the future of WebAssembly.

Chapters:
0:00 - Introducing Ömer and Martin from the Dart team
0:38 - What even is Dart?
3:58 - How V8 almost supported JavaScript and Dart
7:34 - What is Flutter, and why did they choose Dart?
10:21 - Flutter’s three Google I/O moments: Accessibility, hot reloading, and WasmGC
12:37 - Why Flutter bet on WasmGC
16:54 - Were Flutter people part of the WasmGC proposal?
17:37 - How the Flutter and the Dart team collaborate at Google
19:48 - WasmGC explained
23:10 - WasmGC outside of the browser without the JS engineer’s garbage collector
24:01 - Performance impact of switching from dart2js to dart2wasm
26:11 - Web apps with pure Dart
28:48 - Reasons for choosing Dart for Web programming
36:14 - Size differences between Dart compiled to JS vs. Wasm
38:55 - Web apps with Jaspr
41:13 - Dart compiled to WasmGC on non-browser engines
43:01 - WasmGC in the various browsers
46:44 - WasmGC, ready for business adaptation?
48:57 - Concrete problems in different browsers
52:30 - WasmGC in browser benchmarks
54:06 - Ömer’s and Martin’s wishes for the Wasm ecosystem
1:00:00 - Wasm, but not
1:03:26 - How to reach Ömer and Martin

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

Watch more WasmAssembly → https://goo.gle/WasmAssembly
Subscribe to Chrome for Developers → https://goo.gle/ChromeDevs

#WebAssembly #Wasm #WasmGC #Flutter #Dart #Dart2JS #Dart2Wasm #Dart2WasmGC #ChromeForDevelopers #Chrome

Speaker: Thomas Steiner
Products Mentioned: Web Assembly (Wasm), Chrome, WebAssembly for Chrome