C++ WebAssembly

Open-source C++ projects categorized as WebAssembly | Edit details

Top 21 C++ WebAssembly Projects

  • perspective

    A data visualization and analytics component, especially well-suited for large and/or streaming datasets.

    Project mention: Open source Business intelligence platform made with Python | news.ycombinator.com | 2021-11-28
  • wabt

    The WebAssembly Binary Toolkit

    Project mention: Understanding WebAssembly better by learning WebAssembly-Text | dev.to | 2021-08-15

    WebAssembly is a true revolution in tech, not just in the web, but thanks to WASI and friends, it is becoming available everywhere. One of the best things WebAssembly offers is being a compilation target instead of just another programming language. This has the potential to help a lot of non-JS developers get involved with web development. WebAssembly also has its text version called... You got it, WebAssembly Text, or WAT for short! (MDN docs here). It can be compiled to the binary format using WABT.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • magnum

    Lightweight and modular C++11 graphics middleware for games and data visualization

    Project mention: Game Engine From Scratch | reddit.com/r/cpp | 2022-01-17

    It's not a tutorial, but magnum is a modern C++11/14 graphic engine actively developed by a small team.

  • asm-dom

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

    Project mention: At least it's not java | reddit.com/r/ProgrammerHumor | 2021-11-19

    Wasm is already around for a while. There are probably some libs to access the dom and frameworks around that wrap the js part completely Found this after a short search https://github.com/mbasso/asm-dom Also Blazor seems to work fine, but didn't really test it beside playing around a little bit with it

  • 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: Manage WebAssembly Apps Using Container and Kubernetes Tools | news.ycombinator.com | 2021-11-22

    Yes, Krustlest is a CNCF project too. WasmEdge is going to support Krustlet via the Rust SDK. https://github.com/WasmEdge/WasmEdge/issues/502

    The K8s ecosystem is extensive. Want to show the community another way to use K8s to manage WebAssembly Apps:)

  • SwiftLaTeX

    SwiftLaTeX, a WYSIWYG Browser-based LaTeX Editor

    Project mention: WebAssembly-based LaTeX engine that outputs HTMLs | reddit.com/r/javascript | 2021-06-17
  • wasm-fizzbuzz

    WebAssembly from Scratch: From FizzBuzz to DooM.

    Project mention: DOOM Rendered via Checkboxes | reddit.com/r/programming | 2021-10-14

    Wow, the linked porting of DOOM to Wasm, https://github.com/diekmann/wasm-fizzbuzz/tree/main/doom, is really an excellent read as well.

  • OPS

    OPS - Build and Run Open Source Unikernels. Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.

  • Diagon

    Interactive ASCII art diagram generators. :star2:

    Project mention: Hacker News top posts: Dec 21, 2021 | reddit.com/r/hackerdigest | 2021-12-21

    Diagon – Interactive ASCII art diagram generators\ (4 comments)

  • cheerp-meta

    Cheerp - a C/C++ compiler for Web applications - compiles to WebAssembly and JavaScript

    Project mention: A JavaScript optimizing compiler | reddit.com/r/javascript | 2021-04-30

    A similar project, for WebAssembly so with limited scope is this: https://github.com/bytecodealliance/wizer. And somehow similar but limited on LLVM IR a colleague worked on this for Cheerp (the compiler used here as backend): https://github.com/leaningtech/cheerp-meta/wiki/Cheerp-PreExecuter.

  • faasm

    High-performance stateful serverless runtime based on WebAssembly

    Project mention: What current or past web technologies failed to live up to the hype? | reddit.com/r/webdev | 2021-11-01

    Exhibit A: faasm

  • RaZ

    Modern & multiplatform game engine in C++17

  • magnum-examples

    Examples for the Magnum C++11/C++14 graphics engine

    Project mention: Best Vulkan wrapper / low-level graphics library? | reddit.com/r/GraphicsProgramming | 2021-02-09

    While the Vulkan wrapper layer isn't that well documented or advertised yet (to Magnum standards at least), there's a Vulkan Triangle example making use of the basic bits to get you an idea how it might feel like. Apart from that:

  • stockfish.wasm

    WebAssembly port of the strong chess engine Stockfish

    Project mention: I started Lichess, Ask Me Anything | reddit.com/r/chess | 2021-04-12
  • hera

    Hera: Ewasm virtual machine conforming to the EVMC API (by ewasm)

    Project mention: Custodial, Region Locked and KYC... Welcome to the Strike (My First Experience) | reddit.com/r/btc | 2021-08-28

    eWASM will still be able to run EVM contracts like today (thanks to Hera), but in addition it will also let developers run contracts written in any programming language that can be compiled to WebAssembly (WASM).

  • krkrsdl2


    Project mention: Translation Status Update/Discussion - Sep 19 | reddit.com/r/visualnovels | 2021-09-19

    I made a port of Kirikiri to use SDL2, which allows multi platform development on macOS, iOS, Android, Linux, HTML5 (via Emscripten): https://github.com/krkrsdl2/krkrsdl2 Here is a game that is running in the web browser using this engine: https://www.freem.ne.jp/win/game/26264

  • wasmr

    Execute WebAssembly from R using wasmer

    Project mention: Announcing Wasmer 1.0, the mature & fast WebAssembly runtime; with 3 compilers, 2 engines and ton of new features! | reddit.com/r/Python | 2021-01-29

    Not to add more confusion but to promote a cool project, there is wasmr which allows to run WebAssembly inside R, just like Wasmer Python embedding allows to run WebAssembly inside Python. Just wanted to mention this project because we are talking about R :-).

  • ffprobe-wasm

    A Web-based FFProbe. Powered by FFmpeg, Vue and Web Assembly!

    Project mention: FFmpeg + WebAssembly | dev.to | 2021-05-19

    I also have a more advanced example of using FFProbe via Wasm: https://github.com/alfg/ffprobe-wasm

  • Project mention: Alternatives to Google Cloud Translate | reddit.com/r/LanguageTechnology | 2022-01-13

    https://translatelocally.com/ (based on https://github.com/browsermt/bergamot-translator / https://marian-nmt.github.io/ )

  • EmGlue

    🕸️ Glue C++ to your browser! Universal bindings for JavaScript/Wasm using Glue and Embind.

    Project mention: TheLartians/EmGlue - Glue C++ to your browser! Universal bindings for JavaScript using Glue and Embind. | reddit.com/r/cpp | 2021-05-06
  • opencascade-emscripten-port

    Open CASCADE - Emscripten / Webassembly port

    Project mention: Curated Code CAD | news.ycombinator.com | 2021-06-28

    There is an OpenCascade version compiled down to wasm [1] that we're currently using embedded in our own app. Rendering to WebGL is relatively straight-forward and the system as a whole works well. Gives me a lot of power when designing mechanical systems and running simulations on the resulting models. Perf of the CAD kernel on the web is not great, but 'just good enough'.

    Troubleshooting issues is tricky though. If something doesn't work debugging is nearly impossible and the (C++) docs are very challenging.

    OpenCascade is very powerful, but the ergonomics of the API aren't great. Writing a simple FP-style immutable wrapper around it has proven very fruitful and we can now describe relatively complicated models with a bare minimum of TypeScript code. Lot's of fun!

    [1] https://github.com/gabrielcuvillier/opencascade-emscripten-p...

  • AECforWebAssembly

    A port of ArithmeticExpressionCompiler from x86 to WebAssembly, so that the programs written in the language can run in a browser. The compiler has been rewritten from JavaScript into C++.

    Project mention: How do you implement `+=`, `-=`, `*=` and `/=` from the C-like languages? Modifying the AST to convert them to simple assignments does not work because then functions called on the feft-hand-side are called twice instead of only once. | reddit.com/r/ProgrammingLanguages | 2022-01-23
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). The latest post mention was on 2022-01-23.

C++ WebAssembly related posts


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

Project Stars
1 perspective 4,158
2 wabt 4,144
3 magnum 3,766
4 asm-dom 2,607
5 SSVM 2,583
6 SwiftLaTeX 1,673
7 wasm-fizzbuzz 1,358
8 Diagon 725
9 cheerp-meta 635
10 faasm 561
11 RaZ 288
12 magnum-examples 214
13 stockfish.wasm 153
14 hera 149
15 krkrsdl2 94
16 wasmr 65
17 ffprobe-wasm 50
18 bergamot-translator 30
19 EmGlue 17
20 opencascade-emscripten-port 16
21 AECforWebAssembly 11
Find remote jobs at our new job board 99remotejobs.com.
There are 29 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.