Paul Krill
Editor at Large

Wasmer melds WebAssembly, Posix with WASIX spec

news
May 31, 20232 mins

The superset of WASI can be used for apps and runtimes, offering a high-performance JavaScript alternative that runs in browsers and servers.

speedometer / speed / fast / high performing / limits
Credit: KTSimage / Getty Images

Wasmer, builder of technology leveraging the WebAssembly (Wasm) binary instruction format, is unveiling WASIX, a specification and toolchain extending WASI (WebAssembly System Interface) to build applications with full Posix (Portable Operating System Interface) compatibility. The intent is to streamline compilation to Wasm.

Announced May 30 as a superset of WASI, WASIX can be used for both building apps and completing runtimes, supporting threads, Berkeley sockets, forking, and other capabilities available for almost all of the life of Posix. In developing WASIX, the Wasmer team and community have worked to enhance the existing WASI ABI, stabilizing it and making it more compatible with Posix, Wasmer said. Proponents believe WASIX will make it easier to compile any apps to Wasm, which has been positioned to bring high performance to web applications and allow other languages besides JavaScript to be used in the browser. The WASIX specification can be found at wasix.org. Developers can try it out WASIX at wasmer.sh.

Specific aspects of WASIX include long-term stabilization and support of the existing WASI ABI and additional noninvasive syscall extensions that complete missing gaps, enabling practical applications to be compiled and used now. WASIX features:

  • Toolchains for compiling Rust and C/C++, now in preview, with upstream support for AssemblyScript expected soon, along with support for Zig
  • Runtime support, starting with the Wasmer runtime but with more expected
  • Runnable in browsers or servers
  • Support for multithreading
  • Support for sockets, including IPv4 and IPv6
  • Asynchronous polling of sockets and files
  • TTY support
  • DNS resolution

Although WASI was ambitious and is still supported, its slow iteration pace had held back the progress of making Wasm available, Wasmer said. WASI was unveiled by Mozilla in March 2019 to provide a consistent mechanism for WebAssembly applications to interact with any operating system, with WebAssembly able to run outside and inside the web. Posix, which dates back to the 1980s, has been an IEEE standard defining APIs for software compatible with versions of Unix, including some Linux distributions.

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