The Future of Write Once, Run Anywhere: From Java to WebAssembly
summary
GraalVM Native Image gains a WebAssembly backend that compiles Java bytecode into Wasm modules targeting the Wasm GC proposal and producing a runnable JS binding; a live demo compiles javac in the browser and then builds a Wasm module with the backend in 6.3 seconds. Output size for hello world is about 1 MB → 300 KB after opt/compression. Java<->JS objects interoperate via shared Wasm GC structs, filesystem is an in-memory filesystem, threading/networking are unsupported and will throw, binarian assembles the final binary, and the feature ships as an Oracle GraalVM EA build (JDK25) with planned upstream contribution.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 0:40Demo
- 4:00How it works
- 10:08Type Hierarchy
- 13:15Type Checks
- 15:40Why WebAssembly
- 19:39VS Code
- 26:25Wrap Up
- 27:35Java C Demo
- 28:11QA
related talks
29mGraalVM: WebAssembly for the JVM Ecosystem
49mGraalVM + Wasm: Fast, Efficient, Portable Apps
43mJava and WebAssembly
44mWebAssembly and the Future of the JVM Ecosystem
50mWebAssembly and the Future of the JVM Ecosystem
44mWebAssembly: the browser is now a real virtual machine
01h 42mWebAssembly: Writing Once and Running Everywhere NG
50mWeb Assembly
