WASM to the Moon - Introducing the Very First WASM Based Client
Blog post from Memgraph
Kostas Kyrimis details the creation and development of jsmgclient, a WebAssembly (WASM)-based JavaScript client adapter for Memgraph, as part of his WebAssembly series. Utilizing Emscripten for its smooth integration with JavaScript and CMake, Kyrimis made WASM a compilation target for mgclient, enabling the creation of a WASM module that facilitates communication with Memgraph's database via the Bolt protocol. Despite initial challenges with asynchronous networking calls and Memgraph's lack of Websocket support, Kyrimis adapted the networking stack to be asynchronous, ultimately achieving a successful connection and running a "Hello world" example. He highlights the ease of implementing JavaScript wrappers for the WASM module and suggests the potential for generating wrappers in multiple languages using tools like wasmer, hinting at future innovations in database client libraries. The project concluded with the successful launch of the first WASM-based client for Memgraph, as documented in the jsmgclient repository.