Pay Attention to WebAssembly

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • iswasmfast

    Performance comparison of WebAssembly, C++ Addon, and native implementations of various algorithms in Node.js.

    At a glance, the bindings for wasm copy the data,

    https://github.com/zandaqo/iswasmfast/blob/54bbb7b539c127185...

    If the running code is short enough then that copy might easily make the wasm version much slower. That is indeed a known downside of wasm (calls to JS are somewhat slow, and copying of data even more so - wasm shines when you can avoid those things).

    If it's not that, then a 10x difference suggests you are running into some kind of a VM bug or limitation.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • WASI

    WebAssembly System Interface

    I know what WASI is, my point is that there is no where near parity with existing posix implementations. I have been following the bytecode alliance and webassembly communities for a while and they are all still firmly in the design phase. You only need to look at the networking API [0] and the thread has not been updated for two months, with prior to that folks asking is the work even happening still

    [0] https://github.com/WebAssembly/WASI/issues/370

  • wasmer

    🚀 The leading Wasm Runtime supporting WASIX and WASI

    Regarding WAPM [2] and how its development had become a bit dormant, expect news about it soon. Can't wait to share what we have been working on!

    [1] https://wasmer.io

  • gc

    Branch of the spec repo scoped to discussion of GC integration in WebAssembly

    I have low faith in the current WebAssembly GC proposal. It's been such a daunting task that they've started talking about "mini-mini MVPs". The GC proposal does not do what most people think it does, the current draft is basically impossible for most languages to target, and even contributors are finding it difficult to reach consensus [0]. It might be a while before it becomes useful.

    [0] https://github.com/WebAssembly/gc/issues/254

  • proposals

    Tracking WebAssembly proposals (by WebAssembly)

    > WebAssembly will never have direct access to the DOM

    I haven’t been paying much attention to WASM proposals for the last few years, but I thought that direct DOM access (avoiding JavaScript trampolining) was one of the driving goals of the reference type, interface type and garbage collection proposals. https://github.com/WebAssembly/proposals/issues/16 mentions “call Web APIs (passing primitives or DOM/GC/Web API objects) directly from WebAssembly without calling through JavaScript”, and WASM’s high level goals document <https://github.com/WebAssembly/design/blob/main/HighLevelGoa...> lists “access browser functionality through the same Web APIs that are accessible to JavaScript” (not “through JavaScript”, but “through the same APIs”). Am I misunderstanding things?

  • design

    WebAssembly Design Documents

    > WebAssembly will never have direct access to the DOM

    I haven’t been paying much attention to WASM proposals for the last few years, but I thought that direct DOM access (avoiding JavaScript trampolining) was one of the driving goals of the reference type, interface type and garbage collection proposals. https://github.com/WebAssembly/proposals/issues/16 mentions “call Web APIs (passing primitives or DOM/GC/Web API objects) directly from WebAssembly without calling through JavaScript”, and WASM’s high level goals document <https://github.com/WebAssembly/design/blob/main/HighLevelGoa...> lists “access browser functionality through the same Web APIs that are accessible to JavaScript” (not “through JavaScript”, but “through the same APIs”). Am I misunderstanding things?

  • simd

    Discontinued Branch of the spec repo scoped to discussion of SIMD in WebAssembly

  • Uno Platform

    Open-source platform for building cross-platform native Mobile, Web, Desktop and Embedded apps quickly. Create rich, C#/XAML, single-codebase apps from any IDE. Hot Reload included! 90m+ NuGet Downloads!!

    Agree with sibling comment - the JS ecosystem has a huge momentum behind it and probably isn't going away anytime soon.

    On the web, Wasm has currently found the most success with compute-intensive applications, since the JS <-> Wasm bridge is still pretty expensive. There are already some Wasm-based frameworks like https://platform.uno/ that work on the web, but things like React/React-native and Flutter have a huge head start.

  • wasi-libc

    WASI libc implementation for WebAssembly

    Well then.

    Most syscalls are straightforward to expose through WASI, but signal handling, memory mapping, and shmem will be very painful. Probably fork too. My guess is that these syscalls will not be exposed, or exposed in some highly attenuated way [2], and so WASI can be a lever to create better APIs for this stuff. Signals really are terrible.

    1: https://github.com/WebAssembly/wasi-libc/blob/main/libc-bott...

    2: https://github.com/WebAssembly/wasi-libc/blob/main/libc-bott...

  • Might be a notable exception but i have almost a thousand of those exceptions :-P. Also while Steam itself is needed for the initial download, some games can just be copied to another place and work fine, especially indie games that do not bother with DRM. A bigger issue is the Steamworks APIs but if you only care about singleplayer games there are drop-in replacements like Goldberg's emulator[0] which is opensource (LGPL).

    (also there are more places to buy DRM-free games than only GOG - e.g. itch.io, Zoom Platform, GamersGate and Humble Store to name a few - though GOG has most of the games)

    [0] https://gitlab.com/Mr_Goldberg/goldberg_emulator

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Why I'm skeptical of rewriting JavaScript tools in "faster" languages

    7 projects | news.ycombinator.com | 21 Oct 2024
  • Bring garbage collected programming languages efficiently to WebAssembly

    16 projects | news.ycombinator.com | 3 Nov 2023
  • WasmGC – Compile and run GC languages such as Kotlin, Java in Chrome browser

    4 projects | news.ycombinator.com | 2 Nov 2023
  • Extism Makes WebAssembly Easy

    13 projects | news.ycombinator.com | 4 Oct 2023
  • Extism: Make all software programmable with WebAssembly

    14 projects | news.ycombinator.com | 1 Dec 2022