Rust WebAssembly

Open-source Rust projects categorized as WebAssembly

Top 23 Rust WebAssembly Projects

  • wasmer

    πŸš€ The leading Wasm Runtime supporting WASIX, WASI and Emscripten

  • Project mention: Bebop v3: a fast, modern replacement to Protocol Buffers | news.ycombinator.com | 2024-03-12

    This is awesome. I'd love to have upstream support in Wasmer ( https://wasmer.io )

  • slint

    Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.

  • Project mention: Ask HN: Why would you ever use C++ for a new project over Rust? | news.ycombinator.com | 2024-04-02

    Did you get a chance to check https://slint.dev?

    Disclaimer: I work for Slint

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

    Build fast web applications with Rust.

  • Project mention: Migrating a JavaScript frontend to Leptos, a Rust framework | dev.to | 2024-03-26

    Lots of new frontend frameworks have been built on top of Rust, including Leptos, which happens to be one of the most popular ones. In this guide, we'll highlight why and how to migrate your JavaScript frontend to use the Leptos Rust frontend framework.

  • wasmtime

    A fast and secure runtime for WebAssembly

  • Project mention: Backdoor in upstream xz/liblzma leading to SSH server compromise | news.ycombinator.com | 2024-03-29

    Just a documentation change, fortunately:

    https://github.com/bytecodealliance/wasmtime/commits?author=...

    They've submitted little documentation tweaks to other projects, too, for example:

    https://learn.microsoft.com/en-us/cpp/overview/whats-new-cpp...

    I don't know whether this is a formerly-legitimate open source contributor who went rogue, or a deep-cover persona spreading innocuous-looking documentation changes around to other projects as a smokescreen.

  • genact

    πŸŒ€ A nonsense activity generator

  • Project mention: I'm not in a hurry, let's make it fun | /r/linuxmemes | 2023-05-05
  • spin

    Spin is the open source developer tool for building and running serverless applications powered by WebAssembly.

  • Project mention: Git Prom! My Favorite Git Alias | dev.to | 2024-01-05

    For example, here's a snippet of my Git config for the spin repository:

  • boa

    Boa is an embeddable and experimental Javascript engine written in Rust. Currently, it has support for some of the language.

  • Project mention: A list of JavaScript engines, runtimes, interpreters | /r/learnjavascript | 2023-12-10

    boa

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

    Lunatic is an Erlang-inspired runtime for WebAssembly

  • Project mention: Spinkube: Running WASM in Kubernetes | news.ycombinator.com | 2024-03-14

    This reminds me of Lunatic [1], an Erlang-inspired runtime for WebAssembly. Unfortunately it seems like development stalled some months ago.

    [1] https://lunatic.solutions/

  • Seed

    A Rust framework for creating web apps

  • Project mention: Yew alternatives | /r/learnrust | 2023-06-13

    Practically every Rust web frontend I've seen takes a react-like approach, with "hooks" to store all of the state in. The now-abandoned Seed and Yew's struct components use a message-passing approach, where the state is stored as member variables on the struct representing the component that are updated based on messages dispatched by event handlers. There's also egui, which has a completely different paradigm that involves making the UI from scratch every frame based on the app's current state. It's not a web framework the same way as the others, but it can draw its UI to a web canvas just fine.

  • extism

    The framework for building with WebAssembly (wasm). Easily load wasm modules, move data, call functions, and build extensible apps.

  • Project mention: Extism – make all software programmable. Extend from within | news.ycombinator.com | 2024-04-08
  • Ambient

    The multiplayer game engine

  • Project mention: FLaNK Stack Weekly 09 Oct 2023 | dev.to | 2023-10-10
  • lumen

    An alternative BEAM implementation, designed for WebAssembly

  • plotters

    A rust drawing library for high quality data plotting for both WASM and native, statically and realtimely πŸ¦€ πŸ“ˆπŸš€

  • Project mention: Plotting with GTK4 | /r/GTK | 2023-06-23

    plotter-rs Cairo backend: Specific backend to interact with a gtk-rs DrawingArea widget.

  • Rhai

    Rhai - An embedded scripting language for Rust.

  • Project mention: RustPython | news.ycombinator.com | 2024-02-07
  • stdweb

    A standard library for the client-side Web

  • artichoke

    πŸ’Ž Artichoke is a Ruby made with Rust

  • sandspiel

    Creative cellular automata browser game

  • Project mention: Lessons from Open-Source Game Projects | dev.to | 2024-04-10
  • stork

    πŸ”Ž Impossibly fast web search, made for static sites.

  • Project mention: Ask HN: What's the best way to add search to my website? | news.ycombinator.com | 2023-10-08

    If your content is mostly static, you might want to consider pre-building an index and shipping it as a whole. You could look into something like

    * https://stork-search.net/ (Rust/WASM)

    * tinysearch: https://github.com/tinysearch/tinysearch (Rust/WASM)

    * https://lunrjs.com/ (JS, simple, stable)

    * http://elasticlunr.com/ - based on the former, slightly more sophisticated tuning options

  • sycamore

    A library for creating reactive web apps in Rust and WebAssembly

  • Project mention: Building a Rust app with Perseus | dev.to | 2023-07-05

    Perseus is a fast frontend web development framework for Rust with built-in support for reactivity using Sycamore, server-side rendering, and much more. Sycamore is a frontend library that allows you to build interactive user interfaces with Rust. I’d say that Perseus is to Sycamore as Next.js is to React, so it’ll be helpful for you to have a fair understanding of Sycamore before jumping into using Perseus β€” although it’s not necessary to follow along in this article.

  • fluvio

    Lean and mean distributed stream processing system written in rust and web assembly.

  • Project mention: Ask HN: WebSocket Relay? | news.ycombinator.com | 2024-02-27
  • gluesql

    GlueSQL is quite sticky. It attaches to anywhere.

  • Project mention: GlueSQL v0.14 Release - Schemaless data support and the official doc website | /r/rust | 2023-05-30
  • photon

    ⚑ Rust/WebAssembly image processing library (by silvia-odwyer)

  • Project mention: Show HN: OS Image processing API running on edge functions using Rust and WASM | news.ycombinator.com | 2024-04-04

    Image processing/transformations with built-in CDNs is one of the more common solutions you would find out there but can get pretty expensive and locked in over time.

    Vercel is a good example that provides a built-in β€œnext/image” solution for the NextJS framework that optimises images for better performance, however, it gets very expensive as you scale.

    Alternatively, running your own service with one of the most common image processing libraries like SharpJS is great but can get pretty difficult to run in a serverless environment with CDNs and all the other bells and whistles alongside all your other code while the cold startup time of Sharp in a serverless environment can be pretty brutal.

    With all the growth around rebuilding engines in Rust for performance gains, I thought there must be an image processing library written in Rust which could be compiled to WebAssembly (WASM) and run way faster. That’s when I discovered Photon https://github.com/silvia-odwyer/photon by Silvia, who has done amazing work with the library.

    This eventually led me to discover https://github.com/fineshopdesign/cf-wasm/tree/main/packages... that has already transcribed the Photon package into a WASM binary for easy use in edge v8 environments like Cloudflare workers or NextJS Edge functions.

    Using these packages I built an API layer on the NextJS framework allowing you to easily process local and remote images at blazing fast speeds with a bunch of helper functions making it similar to use as most paid Image processing APIs. If hosted on Vercel, you can make use of the built-in CDN cache for files less than 10 MB at no extra charge with Edge caching.

    Some of the features:

    - Blazing fast image processing

    - Fully serverless, runs on Vercel Edge functions

    - Resize, crop, compress, tint, rotate, format and more

    - Global distribution with Edge functions

    - Automated CDN cache with Edge functions

    - Replacement for `next/image` processing on Vercel

    - Local and remote image processing

    Some problems:

    - The Photon lib has last been updated in 2020

    - There are still a few obvious bugs when using it for more advanced requirements like 8k image processing on edge function due to poor memory management in Rust

    - No sexy features right now like AI image optimisation and selective background blurring

    - If you are looking for an all-in-one solution with Image Storage + image processing/CDN, this is not it (something we will be releasing soon on JigsawStack.com)

    I think the Photon library and the API have a lot more potential for growth and will be hoping for more contributions from the community as Rust gets more popular!

  • workers-rs

    Write Cloudflare Workers in 100% Rust via WebAssembly

  • Project mention: Python Cloudflare Workers | news.ycombinator.com | 2024-04-02

    - The speed of the Python interpreter running in WebAssembly

    Today, Python cold starts are slower than cold starts for a JavaScript Worker of equivalent size. A basic "Hello World" Worker written in JavaScript has a near zero cold start time, while a Python Worker has a cold start under 1 second.

    That's because we still need to load Pyodide into your Worker on-demand when a request comes in. The blog post describes what we're working on to reduce this β€” making Pyodide already available upfront.

    Once a Python Worker has gone through a cold start though, the differences are more on the margins β€” maybe a handful milliseconds, depending on what happens during the request.

    - There is a slight cost (think β€” microseconds not milliseconds) to crossing the "bridge" between JavaScript and WebAssembly β€” for example, by performing I/O or async operations. This difference tends to be minimal β€” generally something measured in microseconds not milliseconds. People with performance sensitive Workers already write them in Rust https://github.com/cloudflare/workers-rs, which also relies on bridging between JavaScript and WebAssembly.

    - The Python interpreter that Pyodide provides, that runs in WebAssembly, isn't as fast as the years and years of optimization that have gone into making JavaScript fast in V8. But it's still relatively early days for Pyodide, compared to the JS engine in V8 β€” there are parts of its code where we think there are big perf gains to be had. We're looking forward to upstreaming performance improvements, and there are WebAssembly proposals that help here too.

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

Rust WebAssembly related posts

Index

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

Project Stars
1 wasmer 17,735
2 slint 14,929
3 leptos 14,602
4 wasmtime 14,407
5 genact 8,800
6 spin 4,844
7 boa 4,679
8 lunatic 4,530
9 Seed 3,786
10 extism 3,728
11 Ambient 3,717
12 lumen 3,576
13 plotters 3,518
14 Rhai 3,460
15 stdweb 3,433
16 artichoke 2,993
17 sandspiel 2,905
18 stork 2,709
19 sycamore 2,665
20 fluvio 2,624
21 gluesql 2,596
22 photon 2,472
23 workers-rs 2,262

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