Paul Krill
Editor at Large

Server-side WebAssembly runtime reaches GA status

news
Jan 7, 20212 mins

Promising faster compilation and production-ready performance, Wasmer 1.0 allows universal binaries compiled from native code to run in lightweight containers on multiple host platforms.

binary target
Credit: Violka08 / Getty Images

Wasmer, a server-side, open source runtime for the WebAssembly portable binary format, has reached general availability status. Taking advantage of WebAssembly for software containerization, 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 containerization, 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 compile command for precompiling Wasm files.
  • Headless Wasmer, for IoT usage.
  • Cross-compilation.
  • 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.

The Wasmer 1.0 CLI can be installed from wasmer.io and run standalone or embedded in a language.

Wasmer was introduced in December 2018, with the stated goal of doing for WebAssembly what JavaScript did for Node.js: establish it server-side. By leveraging Wasmer for containerization, 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.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author