WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications.
These all sound like good improvements to WASM as a binary target, but… how do we STILL not have access to any kind of I/O? How is that not the #1 priority? No access to the DOM, no access to local storage, no access to networking… WASM will continue to be borderline useless until it can actually do the things an application needs to do, without having to implement some hackjob JS interop layer.
As the other comment said, outside the browser WASI is what does IO. As for DOM access in the browser, I doubt they want to reimplement the DOM API, because:
It’s insanely complex. This wouldn’t be done within one release, but rather take years to add a substantial amount of APIs.
No one wants to have to maintain two versions of the DOM API documentation. You’d need to basically translate the entirety of MDN to some WASM API description. And in the end, hardly anyone would read it either way, because they’re likely using some wrapper library to interact with the API.
If you’re using such a wrapper library anyways, it hardly matters to most people, whether this library generates JS API calls or some WASM API calls.
I try to stay as far away from JS as possible, and I do not think it’s worth developing a WASM DOM API. With a competent framework, you can develop complex web-UIs without ever touching JavaScript, which is good enough for me.
I/O and stuff like that is being done in the WASI proposals not in WASM proper. I believe most of this stuff is waiting for initial implementations at this point and then it becomes a proper standard.
These all sound like good improvements to WASM as a binary target, but… how do we STILL not have access to any kind of I/O? How is that not the #1 priority? No access to the DOM, no access to local storage, no access to networking… WASM will continue to be borderline useless until it can actually do the things an application needs to do, without having to implement some hackjob JS interop layer.
As the other comment said, outside the browser WASI is what does IO. As for DOM access in the browser, I doubt they want to reimplement the DOM API, because:
I try to stay as far away from JS as possible, and I do not think it’s worth developing a WASM DOM API. With a competent framework, you can develop complex web-UIs without ever touching JavaScript, which is good enough for me.
I/O and stuff like that is being done in the WASI proposals not in WASM proper. I believe most of this stuff is waiting for initial implementations at this point and then it becomes a proper standard.
I hate having to use js interop for simple stuff like manipulating the history stack or even just saving to the clipboard