Looking for this year's edition? Please visit WASM I/0 2025

Session

Look who's talking!

Detail illustration WASM I/O Detail illustration WASM I/O
Philippe Charrière
blend-mode

Give super powers to Java with WebAssembly

Philippe Charrière - GitLab

Slides

WebAssembly (WASM) promises to run code in the browser from a binary (coded in Rust, Go, C, …) are fulfilled. Its qualities (speed, efficiency, security, polyglot) meant that WebAssembly could be run on a wide variety of platforms (other than the JavaScript VM) for many use cases, such as:

Plugins for applications (for example, Zellij) Filters for proxies (for example, Envoy) User-defined functions for databases (for example ScyllaDB) Functions for FaaS (for example, Fermyon Platform) This is made possible by the WASI (WebAssembly System Interface) specification, which allows WASM code to be executed in various contexts. The execution of WASM modules by a Java application was until recently almost impossible or “acrobatic”, and this, even if GraalVM provides WASM support (too light and poorly or not documented).

This gap is now filled by the Extism project, which allows writing WASM plugins in various languages for your Java applications.

In this presentation, I will explain how to develop a Vert-x application with WASM plugins in Rust, Go and Zig. The first steps to develop a FaaS.

View all sessions