Brussels / 1 & 2 February 2025

schedule

Getting the Rust SDK running on webassembly


The Rust programming language is often hailed as a perfect companion to WebAssembly (Wasm), leading many to wonder: why aren’t matrix clients like Element Web fully leveraging the Rust SDK? Why does the JavaScript SDK remain the optimal choice for building Matrix-based webapps?

In this talk, we’ll explore the practical realities of running Rust SDKs in the web environment. While Rust offers powerful features and performance benefits and the great code quality of the Matrix Rust SDK, limitations like WebAssembly’s inability to directly access system-level APIs (such as retrieving timestamps) pose significant hurdles.

We’ll dive into the current state of Rust’s compatibility with WebAssembly for Matrix applications, highlighting what does work—most notably the crypto crate—and detailing the remaining steps to bring the full Rust SDK, up to the UI crate, into the browser. Additionally, we’ll discuss the challenges of creating JavaScript bindings for Rust code, including the current limitations of tools like uni-ffi and the manual effort required for bridging these worlds.

Join us for the latest updates, insights, and perhaps even a sneak peek of a Rust SDK-powered webapp prototype. Whether you're a Rust enthusiast, a Matrix developer, or simply curious about WebAssembly’s potential, you might find it interesting what is possible as of today.

Speakers

Timo Kandra