Developers at are betting big on , building a runtime intended to do for WebAssembly what Node.js did for JavaScript – establish it server-side. The company also has set its sights on a package manager for WebAssembly binaries.

The is intended to make WebAssembly a universal target for compilation by allowing developers to use WebAssembly “anywhere,” similar to the JVM, which provides a portable execution environment for Java applications.

Introduced in December 2018 and offered under an MIT license, Wasmer is a standalone just-in-time runtime, positioned to be compatible with WASI (WebAssembly System Interface) and the Emscripten compiler for asm.js and WebAssembly. Wasmer can execute the standard binary format, .wasm files, and the text format defined by the WebAssembly reference interpreter, .wat files.

Wasmer can run WebAssembly modules, including standalone programs with a CLI or other interface, or universal libraries, which are built to be used from any language. These include libraries such as GraphQL. Wasmer can be embedded in the following languages:

  • C/C++
  • Go
  • PHP
  • Python
  • Ruby
  • Rust

Wasmer CEO Syrus Akbary expects WebAssembly to gain wide adoption, and aims to build the next generation of application-based containers based on WebAssembly, with fast startup time and small application size. These are intended to power edge computing platforms.

Wasmer also has built Wapm, or WebAssembly Package Manager. Similar to what does in the JavaScript world, Wapm is intended to host WebAssembly modules including binaries and universal libraries. 

 and the from GitHub.