C++ WebAssembly

Open-source C++ projects categorized as WebAssembly

Top 23 C++ WebAssembly 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...

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

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

  • Project mention: Ask HN: How Can I Make My Front End React to Database Changes in Real-Time? | news.ycombinator.com | 2024-04-17
  • wabt

    The WebAssembly Binary Toolkit

  • Project mention: Fortran on WebAssembly | news.ycombinator.com | 2024-04-05

    https://github.com/WebAssembly/wabt/blob/main/wasm2c/README.... is a straightforward way to take an untrusted application (compiled already to wasm) and turn it into C that you can embed into your application or compile to a linkable DLL. I believe this approach has been used to sandbox untrusted libraries in production by Mozilla: https://hacks.mozilla.org/2021/12/webassembly-and-back-again...

  • magnum

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

  • asm-dom

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

  • opencv-mobile

    The minimal opencv for Android, iOS, ARM Linux, Windows, Linux, MacOS, WebAssembly

  • SaaSHub

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

    SaaSHub logo
  • container2wasm

    Container to WASM converter

  • Project mention: Apple Introduces M4 Chip | news.ycombinator.com | 2024-05-07

    The existence of vscode.dev always makes me wonder why Microsoft never released an iOS version of VSCode to get more users into its ecosystem. Sure, it's almost as locked down as the web environment, but there's a lot of space in that "almost" - you could do all sorts of things like let users run their code, or complex extensions, in containers in a web view using https://github.com/ktock/container2wasm or similar.

  • usearch

    Fast Open-Source Search & Clustering engine Γ— for Vectors & πŸ”œ Strings Γ— in C++, C, Python, JavaScript, Rust, Java, Objective-C, Swift, C#, GoLang, and Wolfram πŸ”

  • Project mention: I'm writing a new vector search SQLite Extension | news.ycombinator.com | 2024-05-02

    Might have a look at this library:

    https://github.com/unum-cloud/usearch

    It does HNSW and there is a SQLite related project, though not quite the same thing.

  • wasm-fizzbuzz

    WebAssembly from Scratch: From FizzBuzz to DooM.

  • Diagon

    Interactive ASCII art diagram generators. :star2:

  • Project mention: Architecture diagrams enable better conversations | news.ycombinator.com | 2023-08-22

    A few more ASCII-based tool that you could add into your workflow are https://arthursonzogni.com/Diagon/#Sequence which can be used to generate the ASCII that you input into something like Typogram (https://google.github.io/typograms/).

    For example, input:

      Renderer -> Browser: BeginNavigation()

  • swift

    WebAssembly support for the Swift programming language (by swiftwasm)

  • Project mention: Thoughts on Swift and Objective-C | news.ycombinator.com | 2023-05-13

    The experience has really improved the last few months thanks to the Swift Server Work Group [3].

    - Apple platforms have their own Foundation implementation and the open-source one is incomplete.

    [1]: https://www.swift.org/source-code/

    [2]: https://swiftwasm.org/

    [3]: https://www.swift.org/blog/vscode-extension/

  • duckdb-wasm

    WebAssembly version of DuckDB

  • Project mention: Parquet-WASM: Rust-based WebAssembly bindings to read and write Parquet data | news.ycombinator.com | 2024-04-22

    i think duckdb-wasm is closer to 6MB over wire, but ~36MB once decompressed. (see net panel when loading https://shell.duckdb.org/)

    the decompressed size should be okay since it's not the same as parsing and JITing 36MB of JS.

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

    A web based N64 Emulator

  • RaZ

    Modern & multiplatform 3D game engine in C++17

  • wasmdec

    WebAssembly to C decompiler

  • Project mention: Capturing the WebGPU Ecosystem | news.ycombinator.com | 2023-11-11

    I think you're missing a good amount of nuance here

    minified JS can be turned into reasonable JS, yes, but you're probably not going to get TypeScript code back, so the same sort of challenge exists there.

    Assembly -> high-level language is harder, but there are absolutely binary -> C decompilers that are very popular/used in the RE community to make changes to existing programs.

    But that doesn't even matter, WASM is much higher level than assembly, it's a stack machine, there is no arbitrary control flow / labels / `goto`, there are pre-defined data types, etc. all of this means it's easier to convert WASM -> high-level language than it is with a generic x86/arm binary.

    There are WASM decompilers[0][1] which can convert WASM binaries into C code and back.

    In both cases (minified JS and WASM), you're not going to get out exactly what you put in, but WASM doesn't really change the situation very much given the widespread adoption of 'compile to JS' languages like TypeScript these days.

    [0] https://chromium.googlesource.com/external/github.com/WebAss...

    [1] https://github.com/wwwg/wasmdec

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

  • rlbox

    RLBox sandboxing framework

  • OpenGL_CMake_Skeleton

    :heart: A ready to use cmake skeleton using GLFW, Glew and glm. :+1:

  • magnum-examples

    Examples for the Magnum C++11 graphics engine

  • krkrsdl2

    ε‰ι‡Œε‰ι‡ŒSDL2γƒ—γƒ­γ‚Έγ‚§γ‚―γƒˆ (ε‰ι‡Œε‰ι‡Œ2γ¨ε‰ι‡Œε‰ι‡ŒZγŒγƒ™γƒΌγ‚Ή) / Kirikiri SDL2 Project (Based on Kirikiri 2 and Kirikiri Z)

  • 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++ WebAssembly related posts

Index

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

Project Stars
1 emscripten 25,199
2 SSVM 7,974
3 perspective 7,574
4 wabt 6,427
5 magnum 4,673
6 asm-dom 2,773
7 opencv-mobile 2,156
8 container2wasm 1,810
9 usearch 1,691
10 wasm-fizzbuzz 1,500
11 Diagon 1,432
12 swift 1,251
13 duckdb-wasm 931
14 faasm 843
15 N64Wasm 594
16 RaZ 521
17 wasmdec 390
18 AlvaAR 317
19 bergamot-translator 301
20 rlbox 278
21 OpenGL_CMake_Skeleton 276
22 magnum-examples 268
23 krkrsdl2 261

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