Episodi

  • Scala.js to Wasm—Exploring the Wasm backend for Scala.js with Sébastien Doeraene
    Jan 5 2026
    The JVM-to-Web journey continues! In this episode, Thomas Steiner welcomes the original author of Scala.js, Sébastien Doeraene, to discuss the major, experimental leap to WebAssembly. You'll learn why the team decided to target Wasm now and how it complements the existing JavaScript emission. This episode offers a technical deep-dive into how Scala's powerful, nominal type system maps its objects and classes onto Wasm GC, and examines the critical details of interoperability, including what happens when a Scala object crosses the boundary to a JavaScript function. Finally, Sébastien covers the current status of the Wasm ecosystem for Scala.js, and the key limitations you need to know before you flip the `withExperimentalUseWebAssembly(true)` switch. Tune in to discover how a mature typed language is laying a fast, new foundation on the web! Chapters: 0:00 - Commonalities between composing music and composing compilers 1:38 - Scala, Scala.js, Scala Native, and the Scala Center 11:01 - The "elevator pitch" for Scala.js 14:59 - Is Scala.js competing with TypeScript? 20:31 - What motivated the decision to target Wasm? 26:40 - ] How Scala.js utilizes Wasm GC 31:24 - What's actually crossing the boundary between JS and Scala.js? 37:37 - BigInt support in Scala.js 38:38 - The status of the library ecosystem for the Wasm target 41:40 - Sébastien's hobby project ported to Scala.js 44:02 - Is the Wasm backend purely a Scala.js thing for browsers? 52:38 - What developers should be aware of before flipping that `withExperimentalUseWebAssembly(true)` switch 58:28 - What Wasm proposals are you waiting for to unlock new features in Scala.js? 59:57 - Wasm, but not Resources: Sébastien Doeraene on GitHub → https://goo.gle/4pMPufo Sébastien Doeraene at EPFL → https://goo.gle/3KTZZhu Ensemble vocal Évohé → https://goo.gle/4pApQu5 Scala → https://goo.gle/4iYZwY1 Scala.js → https://goo.gle/4oYze9E Scala Native → https://goo.gle/4rX4hp0 Scala Center → https://goo.gle/44uffZ8 Scala to TypeScript → https://goo.gle/4j37ZcM Tyrian → https://goo.gle/4iZCOik Laminar: https://laminar.dev/ Scala.js WebAssembly backend → https://goo.gle/4oT4bvV Announcing Scala.js 1.19.0 → https://goo.gle/4aSYM4F Wasm GC proposal: https://github.com/WebAssembly/gc JSPI proposal → https://goo.gle/4s5cIik Scala.js Interoperability → https://goo.gle/4afJdE1 Scaladex homepage with stats → https://goo.gle/4ja7jCr FunLabryrinhte (Scala) → https://goo.gle/4oTghoL FunLabryrinhte (original) → https://goo.gle/3KA8EWx Bringing Scala to Server-Side Wasm → https://goo.gle/4pgwC7v Scala.js Wasm Limitations → https://goo.gle/4s1jOnN Custom descriptors proposal → https://goo.gle/4p8I7Og Stack Switching Proposal → https://goo.gle/4pJG8B1 JS Primitives Builtins proposal → https://goo.gle/4akAnor Shared-Everything Threads proposal → https://goo.gle/3MCCxGd Watch more WasmAssembly → https://goo.gle/WasmAssembly Subscribe to Chrome for Developers → https://goo.gle/ChromeDevs #WebAssembly #Wasm #ChromeForDevelopers #Chrome Speaker: Thomas Steiner Products Mentioned: Web Assembly (Wasm),
    Mostra di più Mostra meno
    1 ora e 6 min
  • Kotlin/Wasm with Zalim Bashorov
    Nov 25 2025

    Join WasmAssembly host Thomas Steiner for a deep dive into the world of Kotlin/Wasm with Zalim Bashorov from JetBrains! This episode of WasmAssembly explores how Kotlin, known for being concise, multiplatform, and fun, became the recommended language for Android, and why JetBrains decided to expand its reach to WebAssembly. They discuss how people are currently using Kotlin on the Web, the power of Kotlin Multiplatform, and the future of Kotlin/Wasm, covering exciting recent and new proposals like Garbage Collection, Exception Handling, and Shared-Everything Threads. Tune in to hear about the tooling, next milestones, and the evolving landscape of Kotlin development.

    Chapters:
    0:00 - Introducing Zalim from JetBrains
    2:19 - Kotlin: Concise. Multiplatform. Fun. But what does this mean?
    9:05 - How did Kotlin become the recommended programming language for Android?
    16:17 - Why did JetBrains decide to support WebAssembly?
    25:36 - People use Kotlin on the Web, but how?
    31:15 - What is Kotlin Multiplatform?
    37:48 - Understanding canvas-rendered apps
    41:17 - Could the HTML-in-Canvas proposal help?
    43:59 - New Wasm proposals Zalim is excited about
    54:29 - What about Kotlin on the server?

    Resources:

    • Zalim Basharov on LinkedIn → https://goo.gle/4pis0y2

    • StackOverflow 2025 developer survey results → https://goo.gle/3WZuchN

    • Kotlin Programming Language → https://goo.gle/4ifxZkU

    • Google I/O 2019: Empowering developers to build the best experiences on Android + Play → https://goo.gle/3LLwpen

    • Kotlin Is Everywhere: https://goo.gle/4rlvdPc

    • Kotlin/Native → https://goo.gle/3LNk1KM

    • Kotlin/JavaScript → https://goo.gle/3XxkDH0

    • Kotlin/Wasm → https://goo.gle/4r53NwP

    • Kotlinx.browser → https://goo.gle/4o9WRvJ

    • Kotlin/Wasm browser template → https://goo.gle/49tzl9c

    • Get started with Kotlin/Wasm and Compose Multiplatform → https://goo.gle/3X8cmsW

    • Get started with Kotlin Multiplatform → https://goo.gle/48njI20

    • HTML-in-Canvas proposal → https://goo.gle/48sy8wX

    • Garbage collection proposal → https://goo.gle/4i4CgHw

    • Exception handling proposal → https://goo.gle/483coav

    • Shared-everything threads proposal → https://goo.gle/4474V9e

    • Stack switching proposal → https://goo.gle/49XiMCH

    • All ways to reach Zalim → https://goo.gle/3LG78lT

    Mostra di più Mostra meno
    1 ora e 12 min
  • WebAssembly from the Ground Up with Patrick Dubroy and Mariano Guerra
    Oct 20 2025
    Get ready for WasmAssembly episode 16! Host Thomas Steiner sits down with Patrick Dubroy and Mariano Guerra, authors of the ebook "WebAssembly from the Ground Up." Discover how they're teaching Wasm by building a compiler in JavaScript, why writing WebAssembly by hand is crucial, and their thoughts on the future of compiler education. Tune in to learn about Ohm, the surprising omission of WAT, and what a potential part 2 of their book might cover! Chapters: 0:00 - Welcoming Patrick and Mariano, authors of "WebAssembly from the Ground Up 1:34 - How the book came to be 5:34 - How the co-authors met 9:13 - Who should learn WebAssembly by actually writing it? 13:13 - Is it time to retire the Dragon Book? 17:42 - What is Ohm, what it has to do with the programming language Wafer, and why they chose Ohm for the book 27:22 - Compiling Ohm grammars to Wasm 30:22 - The on-purpose omission of the Wasm text format WAT 38:27 - A potential part 2 of the book 43:36 - The biggest surprise when writing the book 50:42 - Wasm, but not Resources: Mariano Guerra on LinkedIn: https://goo.gle/4gtIq3e Patrick Dubroy on LinkedIn: https://goo.gle/46t7Ucx WebAssembly from the Ground Up: https://goo.gle/3IvlqnT Learn WebAssembly: https://goo.gle/46v50E0 WebAssembly website Issue: Consider adding a pure Wasm tutorial: https://goo.gle/46MlMzK Let's Build a Compiler, by Jack Crenshaw: https://goo.gle/4gwQGzz Simpletron Machine Language and Compiler from Deitel's Java book: https://goo.gle/4nK5CNf Little Riak Core Book: https://goo.gle/48rMNtF Failed PR "Initial tests for globals" to the Wasm spec:https://goo.gle/3IwfQ4I Short lived "WebAssembly Weekly" newsletter: https://goo.gle/3IgQYOp The Dragon Book: https://goo.gle/4pLnYPM Ohm: https://goo.gle/3VWpu3B Human Advancement Research Community (HARC):https://goo.gle/3Iqbf47 Communications Design Group (CDG):https://goo.gle/4px8zlK Forth dialect implemented in C, JavaScript, WebAssembly and compiled from C to asm.js and WebAssembly: https://goo.gle/3KvZLfV Minimal Object Oriented runtime in WAT and WasmGC:https://goo.gle/4nxxS5m wasm-tools: https://goo.gle/4nyisxQ Apple's Pascal "syntax" poster: https://goo.gle/4mvhX6X Niklaus Wirth: https://goo.gle/424Bzax Lilith Computer: https://goo.gle/4nECeru Oberon System: https://goo.gle/4pvyP03 Bill Hader on feedback: https://goo.gle/3K9R76U How Julia Evans asks for feedback: https://goo.gle/4gxwFZv Patrick's blog post "Reflections on writing a book": https://goo.gle/4gx3Jkk Quarterback: https://goo.gle/4gvIcc5 Max Bernstein's blog: https://goo.gle/46vlwUD Thorsten Ball's newsletter: https://goo.gle/4pvoWzl Gleam Programming Language: https://goo.gle/46H66hj Sonic Pi: https://goo.gle/3I6z6Wv Future of Coding Newsletter: https://goo.gle/3Isd4xi Patrick Dubroy on Bluesky: https://goo.gle/3VZ6v8C Patrick Dubroy on Mastodon: https://goo.gle/4pvzazR Mariano Guerra on Bluesky: https://goo.gle/4pxInYa Mariano Guerra on Mastodon: https://goo.gle/4n6OXn3 WebAssembly from the Ground Up ebook on Bluesky: https://goo.gle/4prbIUd WebAssembly from the Ground Up ebook on Mastodon: https://goo.gle/4gxBwtX
    Mostra di più Mostra meno
    59 min
  • CG, WG, W3C, Lively—Wasm standardization with Thomas Lively - WasmAssembly
    Sep 29 2025

    In this episode of WasmAssembly, host Thomas Steiner welcomes Thomas Lively from Google, the new co-chair of the W3C WebAssembly Community Group. Taking over the role from past guest Deepti Gandluri (episode #2), we seize the opportunity to ask Lively the exact same three questions we posed to Deepti—listen back to compare their perspectives! In the second half, the two Thomases dive deep into the proposals Lively is personally championing, covering Custom Descriptors and JS Interop, and the highly-anticipated Shared-Everything Threads.

    Chapters:

    0:00 - The Wasm team "Thomas" confusion

    0:57 - Thomas' way into Google's Wasm team

    4:10 - Wasm CG vs. Wasm WG

    9:39 - Is Wasm standardization moving slowly?

    17:58 - Wasm at Google and the Chrome team

    22:33 - The Custom Descriptors and JS Interop proposal

    35:02 - The Shared-Everything Threads proposal

    43:28 - Wasm, but not


    Resources:

    • Thomas Lively on LinkedIn → https://goo.gle/45U8uRA

    • WebAssembly Community Group → https://goo.gle/3K0qSj3

    • From asm.js to Wasm with Emscripten creator Alon Zakai → https://goo.gle/47zQTj9

    • CG, WG, W3C, Deepti—Wasm standardization with Deepti Gandluri → https://goo.gle/4ndWX5X

    • Custom Descriptors and JS Interop → https://goo.gle/4ggStbY

    • WebAssembly threads →​​ https://goo.gle/45Z0kaI

    • Shared-Everything Threads → https://goo.gle/47BnLYG

    • Thomas Lively on Bluesky → https://goo.gle/4gcm2v8



    Mostra di più Mostra meno
    48 min
  • Dart, Flutter, and WasmGC with Ömer Ağacan and Martin Kustermann
    Jul 14 2025

    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

    Mostra di più Mostra meno
    1 ora e 5 min
  • Enabling in-browser scientific computing with Wasm: David Kircos of Quadratic
    Apr 28 2025

    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

    Mostra di più Mostra meno
    46 min
  • Wasm on feature phones with Cloud Phone's Thomas Barrasso
    Mar 24 2025

    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: barrasso@cloudmosa.com
    Mostra di più Mostra meno
    56 min
  • WebGPU and wasi-gfx with renderlet
    Feb 24 2025

    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
    Mostra di più Mostra meno
    54 min