• JakenVeina@midwest.social
    link
    fedilink
    arrow-up
    22
    ·
    edit-2
    15 hours ago

    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.

    • Ephera@lemmy.ml
      link
      fedilink
      English
      arrow-up
      2
      ·
      4 hours ago

      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.

    • Solemarc@lemmy.world
      link
      fedilink
      arrow-up
      13
      ·
      14 hours ago

      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.

    • MrScottyTay@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      11
      ·
      15 hours ago

      I hate having to use js interop for simple stuff like manipulating the history stack or even just saving to the clipboard