WebAssembly

Open-source projects categorized as WebAssembly | Edit details

Top 23 WebAssembly Open-Source Projects

  • Tesseract.js

    Pure Javascript OCR for more than 100 Languages 📖🎉🖥

    Project mention: Extracting Text from Images using Tesseract.js | dev.to | 2022-01-10

    TesseractJS - This is a pure JS port of Tesseract OCR which is a popular Optical Character Recognition engine.

  • assemblyscript

    A TypeScript-like language for WebAssembly.

    Project mention: Creation Story | reddit.com/r/typescript | 2021-12-18

    OP you should look into AssemblyScript https://github.com/AssemblyScript/assemblyscript

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

  • wasmer

    🚀 The leading WebAssembly Runtime supporting WASI and Emscripten

    Project mention: WASM instead of C Dependencies? | dev.to | 2022-01-14

    Wasmer Cranelift runtime: 275ms

  • TinyGo

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

    Project mention: What type of software do you write at your workplace? | reddit.com/r/golang | 2022-01-17

    But then I met TinyGo.

  • qt

    Qt binding for Go (Golang) with support for Windows / macOS / Linux / FreeBSD / Android / iOS / Sailfish OS / Raspberry Pi / AsteroidOS / Ubuntu Touch / JavaScript / WebAssembly

    Project mention: Want to create a non-bloated linux app | reddit.com/r/linuxquestions | 2021-07-08

    I know of https://github.com/therecipe/qt, but I've no experience using it, so not sure how well it works. But normally if you feel handy with Go, I guess it should be easier than switching your development stack to C++.

  • Pion WebRTC

    Pure Go implementation of the WebRTC API

    Project mention: Show HN: WebRTC bandwidth estimation from static videos | news.ycombinator.com | 2022-01-23
  • raylib

    A simple and easy-to-use library to enjoy videogames programming

    Project mention: MSAA 4X for render textures? | reddit.com/r/raylib | 2022-01-13

    Github issue about MSAA: https://github.com/raysan5/raylib/issues/65 Something like this is how you do it with raw gl: https://learnopengl.com/Advanced-OpenGL/Anti-Aliasing how you might do it purely with raylib I am unsure. But in that issue is this linked fragment shader code to do fxaa https://pastebin.com/ZE6w1LKi

  • SonarLint

    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.

  • mal

    mal - Make a Lisp

    Project mention: Llisp: Lisp in Lisp | news.ycombinator.com | 2022-01-23

    Also see Make a Lisp - a build a lisp project that has a specific section on tail recursion [0]. When I went through the MAL process, TCO was actually one of the more straight forward sections (compared with say macros). The basic idea is quite simple - take your eval function and wrap it's body in a loop. For several of the special forms, instead of recursing, rebind eval's arguments and go back round the loop. Forms where something is done after the call to eval still have to recurse, but they are actually in the minority.

    [0] https://github.com/kanaka/mal/blob/master/process/guide.md#s...

  • pyodide

    Pyodide is a Python distribution for the browser and Node.js based on WebAssembly

    Project mention: Show HN: Bulk convert images online without sending to server | news.ycombinator.com | 2022-01-23

    https://github.com/pyodide/pyodide

    > Any pure Python package with a wheel available on PyPi is supported. Many packages with C extensions have also been ported for use with Pyodide. These include many general-purpose packages such as regex, PyYAML, lxml and scientific Python packages including NumPy, pandas, SciPy, Matplotlib, and scikit-learn.

  • wasmtime

    Standalone JIT-style runtime for WebAssembly, using Cranelift

    Project mention: WebAssembly: The New Kubernetes? | news.ycombinator.com | 2022-01-21

    > But, in WebAssembly you get a few more things. One is fast start.

    This is one of the key things I think is differentiating versus the container world. The idea of per-request instantiation is possibly within reach. This is a possible return to a very old, very simple architectural pattern, of cgi-bin! Running a process per request. Which we left because creating processes was expensive. Our new architectures- discussed in this write up- revolve around long running applications, which are compelled upon us for performance reasons. But WebAssembly seems well suited to very fast instantiation of new contexts. It re-opens the possibility that we can have (return to) smaller more discrete chunks of work, safer little units of execution running. We could go back to a Apache HTTPD style prefork world, the very old[1]!

    This is part of the gradient we've been walking down, it feels like. VMs -> containers -> lighter weight containers. Returning to finer grained processes.

    For anyone interested in a deep dive into some of the super neat systems programming going into making WebAssembly starts/instantiation fast, there's a bunch of active work to reengineer module instantiation, using memfd [2][3]. Really fun to see this getting hashed out.

    > * So one answer to the question as initially posed is that no, WebAssembly is not the next Kubernetes; that next thing is waiting to be built, though I know of a few organizations that have started already.*

    And as others have recommended, worth noting Krustlet[4], which allows running WebAssembly instances via Kubernetes. This could definitely make sense for a lot of our workloads. I think a lot of people also expect though that the cloud infrastructure itself will get rewritten or recompiled into webassembly. Where-as today we tend to wire systems together over protocols, via http or grpc, we'll be able to more directly stitch together plugably modular systems, where a generic control process to govern, i dunno pick an example, load balancers say, has a bunch of specific webassembly modules plugged in with the specific actuators / configuration for your set up. There's a real potential to fulfill much of the idea of micro-kernels here, of decomposing big applications into looser assemblages of generic code, drivers, and configuration.

    [1] https://httpd.apache.org/docs/2.4/misc/perf-tuning.html#comp...

    [1] https://github.com/bytecodealliance/wasmtime/pull/3697

    [2] https://github.com/bytecodealliance/wasmtime/pull/3691

    [3] https://krustlet.dev/

  • awesome-wasm

    😎 Curated list of awesome things regarding WebAssembly (wasm) ecosystem.

    Project mention: If software engineering is in demand, why is it so hard to get a software engineering job? | reddit.com/r/business | 2021-08-26

    If you want play with virtualization inside browser, check this out

  • awesome-blazor

    Resources for Blazor, a .NET web framework using C#/Razor and HTML that runs in the browser with WebAssembly.

    Project mention: Advancing in C#/becoming a senior dev | reddit.com/r/csharp | 2022-01-10

    It is usually true that Microsoft's documentation falls behind their implementations, but it does eventually catch up. But this: https://docs.microsoft.com/en-us/aspnet/core/blazor/?view=aspnetcore-6.0 isn't all that bad. There are a lot of resources here https://github.com/AdrienTorris/awesome-blazor too.

  • Uno Platform

    Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.

    Project mention: The poor man's IDE | reddit.com/r/ProgrammerHumor | 2022-01-22

    Or does anyone know how to develop UWP/Xamarin on Linux? (yes, UNO-Platform, have to convince boss first.)

  • genact

    🌀 A nonsense activity generator

    Project mention: I made a tool you guys can use for producing advanced Linux memes | reddit.com/r/linuxmemes | 2021-04-20
  • binaryen

    Compiler infrastructure and toolchain library for WebAssembly

    Project mention: Migrating a JavaScript Library from JavaScript to WebAssembly | news.ycombinator.com | 2021-02-11

    The binaryen toolkit comes with a wasm2js tool, you could translate the wasm back to js and see how performance compares ;)

    It's possible that performance isn't all that different, because asm.js-style Javascript can be surprisingly fast (compared to "idiomatic" human-written Javascript).

    Otherwise it's a completely pointless excercise of course, unless you need to support browsers without WASM support (which don't exist anymore AFAIK).

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

  • vim.wasm

    Vim editor ported to WebAssembly

    Project mention: Why do most self-taught programmers end up doing front-end web devleopment? | reddit.com/r/cscareerquestions | 2021-10-31

    If you want a C back end, give https://github.com/rhysd/vim.wasm a look.

  • wasm3

    🚀 The fastest WebAssembly interpreter, and the most universal runtime

    Project mention: MiniVM: A minimal cross-language runtime that beats C/luajit on some benchmarks | news.ycombinator.com | 2022-01-08

    How does this compare to the techniques used in the wasm3 (name, not description)?

    https://github.com/wasm3/wasm3

    architecture of M3 the interpreter core of wasm3 https://github.com/wasm3/wasm3/blob/main/docs/Interpreter.md

    https://github.com/wasm3/wasm3/blob/main/docs/Performance.md

  • vugu

    Vugu: A modern UI library for Go+WebAssembly (experimental)

    Project mention: Ask HN: Should I even bother with React? | news.ycombinator.com | 2022-01-23

    If you have the option go for https://www.vugu.org/ and use the go language. Much better language started by google in 2006 vs JavaScript which was started in I think 1995?

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

  • lucet

    Lucet, the Sandboxing WebAssembly Compiler.

    Project mention: There are a *lot* of actor framework projects on Cargo. | reddit.com/r/rust | 2021-05-01

    I guess lucet could be an under-layer for this but it's not really the same, different levels of the stack. Fascinating.

  • ant-design-blazor

    🌈A set of enterprise-class UI components based on Ant Design and Blazor WebAssembly.

    Project mention: Best UI components for commercial enterprise project? | reddit.com/r/Blazor | 2021-11-25

    AntBlazor is the best for me. You can try.

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

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.

WebAssembly related posts

Index

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

Project Stars
1 Tesseract.js 25,393
2 assemblyscript 13,340
3 wasmer 11,231
4 TinyGo 9,217
5 qt 8,985
6 Pion WebRTC 8,630
7 raylib 8,454
8 mal 8,359
9 pyodide 7,264
10 wasmtime 6,623
11 awesome-wasm 6,471
12 awesome-blazor 6,175
13 Uno Platform 6,138
14 genact 5,539
15 binaryen 5,374
16 vim.wasm 4,937
17 wasm3 4,475
18 vugu 4,273
19 perspective 4,158
20 wabt 4,109
21 lucet 4,029
22 ant-design-blazor 3,976
23 magnum 3,766
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.
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.
github.com/nanovms