Wasmer, a server-side, open source runtime for the WebAssembly portable binary format, has reached general availability status.
Taking advantage of WebAssembly for software containerisation, Wasmer allows universal binaries compiled from C++, Rust, Go, Python, and other languages to run on different operating systems and in web browsers without modification.
With the Wasmer 1.0 release on January 5, the developers of Wasmer are citing “out of this world” runtime and compiler performance. They view WebAssembly, or Wasm for short, as a crucial component for the future of software execution and containerisation, inside and outside the browser.
Wasmer can run lightweight containers based on WebAssembly on a variety of platforms - Linux, MacOS, Windows, Android, iOS - from the desktop to the cloud to IoT and mobile devices, while also allowing these containers to be embedded in any programming language.
The Wasmer runtime also is able to run the Nginx web server and other WebAssembly modules.
Shipping with no dependencies, Wasmer 1.0 features:
- A native object engine, featuring a
wasmer compilecommand for precompiling Wasm files
- Headless Wasmer, for IoT usage
- An extensible API
- Wasm-C-API support
- Error handling and debugging
- Production-ready performance
- Pluggable infrastructure, with single-pass compiling and support for fast compilation times not susceptible to JIT “bombs.” Cranelift and LLVM are supported
- Support for Apple Silicon hardware, based on Arm. Wasmer is the first non-interpreted, server-side WebAssembly VM to support Wasm in Apple Silicon, the developers said
By leveraging Wasmer for containerisation, developers can create universal binaries that work anywhere without modification, including on Linux, MacOS, and Windows as well as web browsers. WebAssembly automatically sandboxes applications by default for secure execution, shielding the host environment from malicious code, bugs, and vulnerabilities in the software being run.