C++ WASM

Open-source C++ projects categorized as WASM

WebAssembly (abbreviated WASM) is a binary instruction format for a stack-​based virtual machine. WebAssembly is an open standard that defines a portable binary-code format for executable programs, and a corresponding textual assembly language, as well as interfaces for facilitating interactions between such programs and their host environment.

Top 23 C++ WASM Projects

  • emscripten

    Emscripten: An LLVM-to-WebAssembly Compiler

  • Project mention: Python HTTP library 'urllib3' now works in the browser | news.ycombinator.com | 2024-01-30

    Browsers limit the ability for these platforms to use raw sockets, there simply is no API for it. The best that can be done /today/ is to use WebSockets, which are not the same thing any can't be used for HTTP requests without the server expecting a WebSocket connection:

    https://github.com/emscripten-core/emscripten/issues/5196#is...

  • filament

    Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2

  • Project mention: Filament – A Language for Fearless Hardware Design | news.ycombinator.com | 2024-03-04

    Also: Filament is a real-time physically-based renderer written in C++. It is mobile-first, but also multi-platform.

    https://google.github.io/filament/

  • 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.

    InfluxDB logo
  • SSVM

    WasmEdge is a lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications. It powers serverless apps, embedded functions, microservices, smart contracts, and IoT devices.

  • Project mention: A WASM runtime for running LLMs locally | news.ycombinator.com | 2023-12-29
  • highway

    Performance-portable, length-agnostic SIMD with runtime dispatch

  • Project mention: Llamafile 0.7 Brings AVX-512 Support: 10x Faster Prompt Eval Times for AMD Zen 4 | news.ycombinator.com | 2024-03-31

    The bf16 dot instruction replaces 6 instructions: https://github.com/google/highway/blob/master/hwy/ops/x86_12...

  • NectarJS

    🔱 Javascript's God Mode. No VM. No Bytecode. No GC. Just native binaries.

  • asm-dom

    A minimal WebAssembly virtual DOM to build C++ SPA (Single page applications)

  • faust

    Functional programming language for signal processing and sound synthesis (by grame-cncm)

  • Project mention: My Sixth Year as a Bootstrapped Founder | news.ycombinator.com | 2024-02-16

    Glicol looks very cool! Also check out Faust if you haven't (https://faust.grame.fr), another FP sound programming language.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • container2wasm

    Container to WASM converter

  • Project mention: Show HN: dockerc – Docker image to static executable "compiler" | news.ycombinator.com | 2024-03-06

    Unfortunately cosmopolitan wouldn't work for dockerc. Cosmopolitan works as long as you only use it but container runtimes require additional features. Also containers contain arbitrary executables so not sure how that would work either...

    As for WASM, this is already possible using container2wasm[0] and wasmer[1]'s ability to generate static binaries.

    [0]: https://github.com/ktock/container2wasm

    [1]: https://wasmer.io/

  • wasm-fizzbuzz

    WebAssembly from Scratch: From FizzBuzz to DooM.

  • WaykiChain

    Public Blockchain as a Decentralized Finance Infrastructure Service Platform

  • faasm

    High-performance stateful serverless runtime based on WebAssembly

  • Project mention: XFaaS: Hyperscale and Low Cost Serverless Functions at Meta | news.ycombinator.com | 2024-01-31
  • cib

    clang running in browser (wasm)

  • WebGui

    An example demo of IMGUI (Immediate Mode GUI) on the web. Using only WebGL, GLFW and ImGui. Suitable for being compiled to web assembly (WASM).

  • Project mention: Visual Node Graph with ImGui | news.ycombinator.com | 2023-09-29

    you could compile this with imgui to the web: https://github.com/jnmaloney/WebGui

    but you'd have to write communication to your django app. I would do that in JS and then pass events to the WASM layer.

  • AlvaAR

    World tracking for WebAR. A Javascript library for Augmented Reality to run SLAM in the browser.

  • Project mention: AlvaAR, SLAM algorithm running with WebAssembly in the browser | news.ycombinator.com | 2023-09-23
  • bergamot-translator

    Cross platform C++ library focusing on optimized machine translation on the consumer-grade device.

  • Project mention: Fast and secure translation on your local machine with a GUI | news.ycombinator.com | 2024-04-13

    Interestingly, I think this is actually related to the offline translation features built into Firefox. Both are products of "Project Bergamot", but the Mozilla-maintained version was later merged into the Firefox application:

    https://browser.mt/

    https://blog.mozilla.org/en/mozilla/local-translation-add-on...

    https://hacks.mozilla.org/2022/06/training-efficient-neural-...

    https://github.com/mozilla/firefox-translations

    https://firefox-source-docs.mozilla.org/toolkit/components/t...

    Extra webpage with screenshot and links, impossible to search for normally:

    https://translatelocally.com/downloads/

    Does one thing and does it well.

    Oh— For downloading models, it's much easier to pipe/`xargs` `translateLocally --available-models` into `translateLocally -d` than go through the GUI.

    ---

    Other self-hostable translation tools:

    https://www.apertium.org/index.eng.html

    - Traditional rule-based translation. Seems to work pretty well, but no good desktop frontend.

    https://www.argosopentech.com/

    - Works, but crashy desktop app.

    https://libretranslate.com/

    - API wrapping Argos Translate.

    https://lingva.thedaviddelta.com/

    - Google Translate scraper/privacy frontend.

    https://euroglot.com/

    - Proprietary, subscription trialware.

  • fizzy

    Fizzy aims to be a fast, deterministic, and pedantic WebAssembly interpreter written in C++. (by wasmx)

  • mujoco_wasm

    Simulate and Render MuJoCo Models in the Browser!

  • Project mention: Piano on Paper | news.ycombinator.com | 2024-03-08

    Congratulations on shipping!

    You might find this interesting, a comment on https://news.ycombinator.com/item?id=35376138 (https://news.ycombinator.com/item?id=35379983):

    > I had been playing with the idea of creating a browser-based virtual piano for when I'm travelling and don't have access to a real piano but have my laptop with me. The idea would be to point the webcam down at the table between me and the laptop, and play on the table as if a piano were there. Then use the mediapipe framework [1] to capture finger positions, and use those to update a virtual environment like the one you have here.

    > I put it on hold due to the significant engineering required, but it seems you have already implemented (and open sourced!) the browser-based piano simulation component.

    > A quick scan through your repo indicates that this is all implemented in Python. I see that you are using mujoco_wasm [2].

    [1] https://google.github.io/mediapipe/

    [2] https://github.com/zalo/mujoco_wasm

  • kagome

    Kagome - C++20 implementation of Polkadot Host (by qdrvm)

  • Project mention: Polkadot Digest 9 Oct 2023 | /r/Polkadot | 2023-10-10

    Kagome, the C++ version of the Polkadot Host, has released version 0.9.2, including such features as BEEFY consensus and using C++20. https://github.com/qdrvm/kagome/releases/tag/v0.9.2

  • godot-wasm

    Interact with WebAssembly modules from Godot

  • Project mention: Show HN: WebAssembly runtime embedded in Godot game engine | news.ycombinator.com | 2023-10-16

    Unfortunately, web exports are not yet supported. See https://github.com/ashtonmeuser/godot-wasm/issues/18 for more details. Web support is on the roadmap.

  • proxy-wasm-cpp-sdk

    WebAssembly for Proxies (C++ SDK)

  • Project mention: Unlocking Istio's Versatility: A Guide to WASM Plugins in Kubernetes | dev.to | 2023-07-24

    C++ SDK

  • wasp

    🐝 Wasp : Wasm programming language (by pannous)

  • chronotext-cross

    Cross platform infrastructure for developing 2d and 3d applications with C++ and OpenGL

  • Project mention: 3d typography - Javascriptorium 6/6 (link in the comments) | /r/creativecoding | 2023-05-11

    C++ and OpenGL are used behind the scenes so the pipeline is optimal. I can't think of another combination to make it run faster than it is now (by the way, it runs on the desktop, on mobile devices, and on the browser, without modifying a single line of code, thanks to the chronotext-cross framework.)

  • zig-wasm-audio-framebuffer

    Examples of integrating Zig and Wasm for audio and graphics on the web

  • SaaSHub

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

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

C++ WASM related posts

Index

What are some of the best open-source WASM projects in C++? This list will help you:

Project Stars
1 emscripten 25,139
2 filament 17,083
3 SSVM 7,932
4 highway 3,645
5 NectarJS 3,540
6 asm-dom 2,773
7 faust 2,408
8 container2wasm 1,786
9 wasm-fizzbuzz 1,500
10 WaykiChain 1,048
11 faasm 837
12 cib 825
13 WebGui 628
14 AlvaAR 313
15 bergamot-translator 299
16 fizzy 205
17 mujoco_wasm 167
18 kagome 150
19 godot-wasm 152
20 proxy-wasm-cpp-sdk 136
21 wasp 96
22 chronotext-cross 54
23 zig-wasm-audio-framebuffer 51

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