Bytecode Alliance (BA) was founded a year ago by Mozilla, Fastly, Intel, and Red Hat to work on projects, standards and toolchains across a wide range of devices and architectures. To put it simply, their shared goal is to push WebAssembly forwards beyond the web. Key to this is the ‘nanoprocess model’, where the lightweight and secure WebAssembly runtime replaces much more complex isolation models (e.g. virtual machines). This blog post reflects on their first year … and what a busy year it’s been!
Probably the most well known BA project is the WebAssembly System Interface (WASI), a standard interface that the host prov ides to WebAssembly modules. This post looks at the progress they are making on newer low-level APIs (e.g. sockets) as well as domain-specific high-level APIs (e.g. neural networks).
The post also covers other topics such as interface types, module linking, improved language support - and finally the news that the Mozilla wasm team have been hired by Fastly!
On the subject of WebAssembly beyond the browser, here’s another exciting project that makes use of WASI. This post introduces WAGI, a super simple WebAssembly server built around the same principles as the Common Gateway Interface (CGI), i.e. HTTP requests are fed to your modules via environment input, and responses are written via standard output. This is a very simple and effective model - I’ve given WAGI a go, both with C++ and AssemblyScript and it really is as simple as it sounds!
Blazor tends to get all the press when it comes to running C# code via WebAssembly, however, there are actually a lot of other interesting projects and tools out there. This blog post gives a brief overview of the projects and products worth using and watching.
Earlier this year the team announced a WebAssembly backend as an alternative to WebGL. This post provides an update, demonstrating that the addition of threads and SIMD (single instruction, multiple data), has made the WebAssembly back-end faster than WebGL (in some cases). A fantastic result and great demonstration of teh power of WebAssembly.
I’ve always been a sucker for retro games, here’s Galaga re-implemented in Blazor. A true classic!