It’s useful to have a polyfill, if you need it, although I do question how often this might be needed (which is a good thing).
As I’m sure you’re aware, WASI (WebAssembly System Interface) is an emerging standard, managed by ByteCode Alliance, which provides a standard set of APIs for using WebAssembly in non-browser environment. Standards like this, which involve collaboration among multiple parties, tend to move quite slowly.
This announcement, from Wasmer (a company that have a commercial WebAssembly runtime and suite of tools), is for a similar standard, called WASIX, that extends WASI. In this initial release they have filled a few gaps in WASI and intend to create a community of collaborators to drive WASIX forwards.
As you can imagine, this has caused a few waves in the community, understandably the WASI community are not that happy about this. However, on the flip-side, I can see how the pace of WASI development may be frustrating for those that depend on it.
I’ll leave you to decide whether you think this is a good move or not!
Yes, wasm can be used for all sorts of serious applications, which is why we need WASI or WASIX. However, can also be used just for fun. This project brings numerous versions of MacOS back to life. If you ever owned, or used one of these machines (I did!), you’ll love this project.
Most people write WebAssembly using Rust, C#, Go or other mainstream languages. However, it is also possible to write WebAssembly directly in WebAssembly Text Format (or WAT). Wasmati gives an alternative for people wanting to hand-craft their WebAssembly modules, by providing TypeScript interfaces for WebAssembly instructions. Quite a neat idea.
WebAssembly is becoming a very popular choice for platforms that provide third-part extensibility via a plugin model. This blog post delves into the details using the Dapr project as an example.