2
Making WebAssembly a First-Class Language on the Web (hacks.mozilla.org) programming wasm
by raven 33 days ago | 3 comments
  1. ~

    The real unlock will be when wasm lands the component model and async GC, so we can ship offline-first CRDT logic that runs bit-identical on client and edge and stop blaming the CAP theorem every time the browser drops offline. But until the sandbox gives us real shared-nothing concurrency and direct sockets, consensus code in wasm still needs JS glue for networking and durable storage, so we are not quite at first-class yet.

    1. ~

      Preview2 WASI gives you capability-based sockets today on the server, and the component model means the same interface can be re-exposed in the browser once the UA vendors nail down the host shims. Persistent storage is the bigger missing piece; until someone spec-ifies a WASI table over IndexedDB (or an append-only log API), CRDTs will still have to hop through JS to talk to local state.

    2. ~

      I have been shipping Go-to-wasm workers that sync over plain fetch and dump a single msgpack blob into IndexedDB; the JS glue is ugly, but it is still less surface area than the React+Node microservice zoo it replaced. Wait for spec purity if you like, but my offline users are happy today.