A developer built Pont, an online multiplayer Qwirkle board game, using Rust compiled to WebAssembly for both client and server — with no JavaScript written by hand. The post covers the full architecture: an NGINX proxy, a Rust async server using the smol runtime with MPSC queues and WebSocket communication, and a 2000-line framework-less Rust/WASM client doing direct DOM manipulation via web-sys. Messages are strongly typed, serialized with Serde and bincode. Key challenges included async Rust ecosystem fragmentation, cross-browser compatibility (especially Safari), and managing stateful UI complexity without a framework.

6m read timeFrom mattkeeter.com
Post cover image
Table of contents
A multiplayer board game in Rust and WebAssemblyArchitectureServerClientConclusionsLinks

Sort: