awesome-wasm-runtimes VS proposals

Compare awesome-wasm-runtimes vs proposals and see what are their differences.

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
awesome-wasm-runtimes proposals
8 43
1,275 942
- 1.0%
1.9 6.1
2 months ago 12 days ago
- -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

awesome-wasm-runtimes

Posts with mentions or reviews of awesome-wasm-runtimes. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-04.
  • Extism Makes WebAssembly Easy
    13 projects | news.ycombinator.com | 4 Oct 2023
    Firecracker is a fine technology, but serverless companies have started taking advantage Wasm's faster start-up times for use cases of running Wasm on the server (https://www.youtube.com/watch?v=yqgCxhPAao0). The deny by default security policy makes Wasm a great choice to run your code in isolation, particularly for maximizing hardware resources in the multi-tenant environments these serverless companies operate.

    In the past few years, we have seen more use cases of Wasm emerge outside of the browser. JavaScript engines are now just a fraction of the total number of runtimes available. Wasmtime, Wasmer, WasmEdge, wazero are popular ones for non-browser use cases like blockchain, serverless, and edge computing (although Cloudflare uses V8's Wasm engine). WAMR is a popular one for cyber physical/IoT devices. There's a nice list here: https://github.com/appcypher/awesome-wasm-runtimes

  • I think [...] the "future of computing" is going to be [...] CISC. I’ve read of IBM mainframes that have [hardware instructions for] parsing XML [...]; if you had garbage collection, bounds checking, and type checking in hardware, you’d have fewer and smaller instructions that achieved just as much.
    4 projects | /r/programmingcirclejerk | 27 Jan 2023
    There's plenty of other ways to interact with Wasm, most of which are secure. (Wasmtime is the one I'm most familiar with, which is why I linked to it.)
  • Lunatic is an Erlang-inspired runtime for WebAssembly
    12 projects | news.ycombinator.com | 30 Nov 2022
    Yeah, this is one of many non-browser runtimes, e.g. see https://github.com/appcypher/awesome-wasm-runtimes

    Lunatic is more opinionated than most of these or node, though, in that it's trying to emulate a particular concurrent system design pattern borrowed from Erlang/BEAM.

  • Web Assembly OS guidance
    4 projects | /r/osdev | 27 Nov 2022
    There's an overview of different WASM runtimes with features: https://github.com/appcypher/awesome-wasm-runtimes
  • Wasmer – The Universal WebAssembly Runtime
    8 projects | news.ycombinator.com | 16 Jun 2022
  • What to learn in 2022
    22 projects | dev.to | 19 Apr 2022
    Now, the creation Bytecode Alliance, the development of multiple WebAssembly runtimes and the work of the W3C WebAssembly Community Group is why I belive it will get popular, but the capability-based security model is why I want it to get popular.
  • Ho Ho Ho, WasmEdge 0.9.0 is here!
    2 projects | /r/cpp | 24 Dec 2021
    ⚖ I think it's really cool that a plugin author could compile their C++ to .wasm such that a single plugin binary can run on either Linux or Windows (don't need an x86 .dll, x64 .dll, x86 .so, x64 .so...) and in a sandbox (no arbitrary syscalls or Win32 calls, just the interfaces given to it), while still getting near native AOT speed. Though, it's hard to judge which one to choose from now with all the wasm engines that are available (https://github.com/appcypher/awesome-wasm-runtimes), with wasmtime or inNative being two others I've considered for my project. I'll definitely look into this one though, given it supports many of the newer proposals.
  • Why WebAssembly is innovative even outside the browser
    11 projects | news.ycombinator.com | 8 Aug 2021
    Numerous native runtimes for webassembly already exist[0], with the current popular choices apparently being Wasmer[1] and Wasmtime[2].

    All one would need to do (AFAIK) is ship a client for all major platforms, as is done with Electron (and web browsers themselves, and everything else.)

    [0]https://github.com/appcypher/awesome-wasm-runtimes

proposals

Posts with mentions or reviews of proposals. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-18.
  • WASM Instructions
    13 projects | news.ycombinator.com | 18 Feb 2024
    Block only. There’s a tail call proposal[1] that’s in phase 4 (nearly standardized).

    [1]: https://github.com/WebAssembly/proposals

  • Extism Makes WebAssembly Easy
    13 projects | news.ycombinator.com | 4 Oct 2023
    While it'd be a nice addition, I wouldn't expect it any time soon.

    It's currently still a stage 1 proposal, while we've been waiting for years for other proposals to be merged. The last time a proposal was actually finished was over 2 years ago.

    https://github.com/WebAssembly/proposals

    https://github.com/WebAssembly/proposals/blob/main/finished-...

  • Show HN: Unity like game editor running in pure WASM
    9 projects | news.ycombinator.com | 26 Sep 2023
    Do you know anything about any WASM developments that will enable pure WASM interaction with browser's Web-APIs at no or at a low cost without the JS layer? I'm looking at https://github.com/WebAssembly/proposals and it's very confusing. There are type imports, almost complete GC proposal(which apparently only for GCd languages, but not for anything browser<->wasm), the component model(which looks and sounds as something not for the browser use case), JS String Builtins (which will provide faster JS strings, but not DOM) and ECMAScript module integration (which will turn WASM modules into ES modules, but Web-APIs aren't ES modules so no luck). Sometimes I read contributor interactions and it looks as if providing such functionality isn't their priority or even in their plans, and WASI + component model for cloud and similar use cases are more important.
  • Haskell WebAssembly in the Browser
    3 projects | news.ycombinator.com | 21 Sep 2023
    It's already in Phase 4, so close: https://github.com/WebAssembly/proposals#phase-4---standardi...
  • WASM typed function references and GC are in standardization
    1 project | news.ycombinator.com | 14 Sep 2023
  • WASI Support in Go
    7 projects | news.ycombinator.com | 13 Sep 2023
    Threads are Phase 3

    https://github.com/WebAssembly/proposals

    You can also check out:

    https://webassembly.org/roadmap/

    And for Go, the proposal project on Github has many interesting conversations from the devs.

    And as a reminder to anyone interested in using Go WASM, it’s experimental and does not come with the same compatibility promise as Go itself:

    https://github.com/golang/go/wiki/WebAssembly

  • Learn WebAssembly by writing small programs
    7 projects | news.ycombinator.com | 5 Sep 2023
    GC proposal is from 2018: https://github.com/WebAssembly/proposals/issues/16 and there’s code: https://github.com/WebAssembly/gc/blob/master/proposals/gc/O...

    Seems like an awefully long time for progress to be made, given all the possibilities it would unlock.

  • Directly compiling Scheme to WebAssembly: lambdas, recursion, iteration
    5 projects | news.ycombinator.com | 31 May 2023
    The proposal was recently bumped to stage 4 (the penultimate stage) with at least a couple of runtimes working on implementing (besides v8, which has supported it for quite awhile now)

    https://github.com/WebAssembly/proposals

  • How do Rust WebAssembly apps free unused memory?
    5 projects | /r/rust | 26 Feb 2023
    But basically it boils down to the memory control proposal, which can be found here and is not very far along; Webassembly proposals lists it in stage one.
  • New video! 2022 in Programming Languages
    8 projects | /r/contextfree | 28 Jan 2023
    Here's the full tab list: - https://tjpalmer.github.io/languish/ - https://blog.python.org/2022/10/python-3110-is-now-available.html - https://devblogs.microsoft.com/python/python-311-faster-cpython-team/ - https://github.com/tc39/proposals/blob/main/finished-proposals.md - https://devblogs.microsoft.com/typescript/ten-years-of-typescript/ - https://devblogs.microsoft.com/typescript/announcing-typescript-4-6/#cfa-destructured-discriminated-unions - https://devblogs.microsoft.com/typescript/announcing-typescript-4-9/#the-satisfies-operator - https://devblogs.microsoft.com/typescript/announcing-typescript-4-7/#go-to-source-definition - https://devblogs.microsoft.com/typescript/announcing-typescript-4-8/#build-watch-incremental-improvements - https://openjdk.org/projects/jdk/18/ - https://openjdk.org/projects/jdk/19/ - https://blog.jetbrains.com/clion/2022/07/july-2022-iso-cpp/ - https://en.wikipedia.org/wiki/C%2B%2B23 - https://en.cppreference.com/w/cpp/23 - https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2128r6.pdf - https://devblogs.microsoft.com/dotnet/announcing-dotnet-7/ - https://devblogs.microsoft.com/dotnet/welcome-to-csharp-11/ - https://devblogs.microsoft.com/dotnet/announcing-fsharp-7/ - https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/ - https://go.dev/blog/go1.19 - https://go.dev/blog/go1.18 - https://thephd.dev/c23-is-coming-here-is-what-is-on-the-menu - https://thephd.dev/c23-is-coming-here-is-what-is-on-the-menu#n3017---embed - https://thephd.dev/c23-is-coming-here-is-what-is-on-the-menu#n3006--n3007---type-inference-for-object-definitions - https://www.php.net/archive/2022.php#2022-12-08-1 - https://wiki.php.net/rfc/dnf_types - https://blog.rust-lang.org/ - https://blog.rust-lang.org/2022/01/13/Rust-1.58.0.html#captured-identifiers-in-format-strings - https://blog.rust-lang.org/2022/02/24/Rust-1.59.0.html#inline-assembly - https://blog.rust-lang.org/2022/05/19/Rust-1.61.0.html#more-capabilities-for-const-fn - https://blog.rust-lang.org/2022/08/11/Rust-1.63.0.html#scoped-threads - https://blog.rust-lang.org/2022/11/03/Rust-1.65.0.html#generic-associated-types-gats - https://blog.jetbrains.com/kotlin/2022/06/kotlin-1-7-0-released/ - https://stat.ethz.ch/pipermail/r-announce/2022/000683.html - https://dart.dev/guides/whats-new - https://medium.com/dartlang/dart-2-18-f4b3101f146c - https://medium.com/dartlang/the-road-to-dart-3-afdd580fbefa - https://www.swift.org/blog/swift-5.6-released/ - https://www.swift.org/blog/swift-5.7-released/ - https://www.swift.org/blog/swift-language-updates-from-wwdc22/ - https://www.ruby-lang.org/en/news/2022/12/25/ruby-3-2-0-released/ - https://www.lua.org/news.html - https://www.scala-lang.org/blog/2022/09/05/scala-3.2.0-released.html - https://tjpalmer.github.io/languish/#y=mean&weights=issues%3D1%26pulls%3D0%26stars%3D1%26soQuestions%3D1&names=solidity%2Chaskell%2Cjulia%2Celixir%2Cclojure%2Cperl%2Cgroovy%2Cocaml%2Cgdscript%2Ccmake%2Cnix%2Cvisual+basic+.net - https://blog.soliditylang.org/ - https://downloads.haskell.org/~ghc/9.4.1/docs/users_guide/9.4.1-notes.html - https://julialang.org/blog/2022/08/julia-1.8-highlights/ - https://discourse.julialang.org/t/julia-v1-9-0-beta2-is-fast/92290 - https://elixir-lang.org/blog/2022/09/01/elixir-v1-14-0-released/ - https://elixir-lang.org/blog/2022/10/05/my-future-with-elixir-set-theoretic-types/ - https://clojure.org/news/2022/03/22/clojure-1-11-0 - https://godotengine.org/en/news/default/1 - https://ocaml.org/news/ocaml-5.0 - https://tjpalmer.github.io/languish/#y=mean&weights=issues%3D1%26pulls%3D0%26stars%3D1%26soQuestions%3D1&names=gdscript%2Czig%2Cpascal%2Cfortran%2Cnim%2Cf%23%2Ccommon+lisp%2Cwebassembly%2Ccrystal%2Ccython%2Cvala%2Cerlang%2Chaxe%2Cv%2Cd - https://ziglang.org/download/0.10.0/release-notes.html - https://ziglang.org/news/goodbye-cpp/ - https://nim-lang.org/blog.html - https://nim-lang.org/blog/2022/12/21/version-20-rc.html - https://www.erlang.org/news/157 - https://github.com/WebAssembly/proposals/commits/main - https://github.com/crystal-lang/crystal/releases - https://dlang.org/changelog/2.099.0.html - https://dlang.org/changelog/2.100.0.html - https://dlang.org/changelog/2.101.0.html - https://github.com/odin-lang/Odin/releases - https://gleam.run/news/ - https://gleam.run/news/gleam-v0.22-released/ - https://gleam.run/news/gleam-v0.24-released/ - https://github.com/idris-lang/Idris2/blob/102d7ebc18a9e881021ed4b05186cccda5274cbe/CHANGELOG.md - https://github.com/diku-dk/futhark/blob/master/CHANGELOG.md#02111 - https://grain-lang.org/blog/2022/06/06/new-release-grain-v0.5-durum/ - https://rescript-lang.org/blog/release-10-0-0 - https://www.roc-lang.org/ - https://simon.peytonjones.org/assets/pdfs/haskell-exchange-22.pdf - https://vale.dev/ - https://www.val-lang.dev/

What are some alternatives?

When comparing awesome-wasm-runtimes and proposals you can also consider the following projects:

wasmer - 🚀 The leading Wasm Runtime supporting WASIX, WASI and Emscripten

expresscpp - Fast, unopinionated, minimalist web framework for C++ Perfect for building REST APIs

Graal - GraalVM compiles Java applications into native executables that start instantly, scale fast, and use fewer compute resources 🚀

binaryen - DEPRECATED in favor of ghc wasm backend, see https://www.tweag.io/blog/2022-11-22-wasm-backend-merged-in-ghc

Odin - Odin Programming Language

buttplug-rs - Rust Implementation of the Buttplug Sex Toy Control Protocol

wasm-micro-runtime - WebAssembly Micro Runtime (WAMR)

ruffle - A Flash Player emulator written in Rust

TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.

interface-types

Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

sdk - The Dart SDK, including the VM, dart2js, core libraries, and more.