SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Rust WASM Projects
-
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.
-
slint
Slint is a declarative GUI toolkit to build native user interfaces for Rust, C++, or JavaScript apps.
-
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.
-
burn
Burn is a new comprehensive dynamic Deep Learning Framework built using Rust with extreme flexibility, compute efficiency and portability as its primary goals.
-
boa
Boa is an embeddable and experimental Javascript engine written in Rust. Currently, it has support for some of the language.
-
extism
The framework for building with WebAssembly (wasm). Easily load wasm modules, move data, call functions, and build extensible apps.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: Egui 0.27 – easy-to-use immediate mode GUI for Rust | news.ycombinator.com | 2024-03-27Thanks for the feedback!
It is definitely fixable. Take a look at https://github.com/emilk/egui/issues/996 for some examples of how others have styled egui, or try out https://app.rerun.io/
Styling is done with `ctx.set_style`, but creating a nice style isn't very easy at the moment (basically you'll have to tweak constants in code, and then recompile). I'm working on making it easier as we speak though!
We have a web components example here: https://github.com/DioxusLabs/dioxus/blob/fd21c971038840130f...
Everything should work like normal except: attributes are not typed, custom event listeners must be implemented with web-sys
Project mention: Bebop v3: a fast, modern replacement to Protocol Buffers | news.ycombinator.com | 2024-03-12This is awesome. I'd love to have upstream support in Wasmer ( https://wasmer.io )
Integrating Rust into Python, Edward Wright, 2021-04-12 Examples for making rustpython run actual python code Calling Rust from Python using PyO3 Writing Python inside your Rust code — Part 1, 2020-04-17 RustPython, RustPython Rust for Python developers: Using Rust to optimize your Python code PyO3 (Rust bindings for Python) Musing About Pythonic Design Patterns In Rust, Teddy Rendahl, 2023-07-14
Project mention: Lezer: A Parsing System for CodeMirror, Inspired by Tree-Sitter | news.ycombinator.com | 2024-03-24I learned from a google search that these days upstream tree-sitter provides WebAssembly bindings.
Source: https://github.com/tree-sitter/tree-sitter/tree/master/lib/b...
NPM: https://www.npmjs.com/package/web-tree-sitter
Download from the latest Github release: js file (https://github.com/tree-sitter/tree-sitter/releases/download...) and wasm file (https://github.com/tree-sitter/tree-sitter/releases/download...)
Project mention: Ask HN: Why would you ever use C++ for a new project over Rust? | news.ycombinator.com | 2024-04-02Did you get a chance to check https://slint.dev?
Disclaimer: I work for Slint
Project mention: Backdoor in upstream xz/liblzma leading to SSH server compromise | news.ycombinator.com | 2024-03-29Just 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.
Project mention: If the native speed DOM/Web API for Rust becomes a reality, would you be willing to build your web apps with Rust and HTML/CSS? | /r/rust | 2023-12-05Another strange issue could be seen in the strict class heritage organized definition of the DOM, which can not be handled very well by rust because of a still unsolved bindgen issue (#210).
For a much simpler but less flexible approach there's wasm-pack for creating JS packages from Rust, and wasm-bindgen for easy interop. Both have very good documentation.
Project mention: A list of JavaScript engines, runtimes, interpreters | /r/learnjavascript | 2023-12-10boa
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/
Hi! I’m Aloke, an engineer at Warp.
I’m really excited to share that Warp is now available on Linux! If you’re interested in trying it out, you can download Warp: https://warp.dev/
Building Warp on Linux was quite an undertaking. Warp uses a custom Rust-based UI framework that we built in house and renders natively on the GPU. To get Warp running on Linux, we built a version of our UI framework that supports winit [1] as a windowing backend. We also built a version of our renderer that uses wgpu [2]. Reducing complexity by using these well-supported, cross platform, frameworks let us bootstrap a version of Linux quicker than expected and should make it easier to build Warp for other platforms (like Windows).
Please let me know what you think! Happy to answer any questions, either about the product or about technical challenges.
[1] https://github.com/rust-windowing/winit
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.
Project mention: Extism – make all software programmable. Extend from within | news.ycombinator.com | 2024-04-08
Oh it’s certainly looking like that IMO.
You can run wasm in k8s: https://krustlet.dev/
Docker itself can run wasm: https://wasmlabs.dev/articles/docker-without-containers/
There are a few serverless runtimes based on wasm: https://wasmcloud.com/
A lot of those are powered by wasmtime or WasmEdge.
If you’re wanting to be able to just pull down a random app and run it as wasm, that’s inherently harder with wasm, because you have to recompile, and amazing compiling stuff is always harder than it should be. For example I compiled jq to wasm to other day, so you dont have to worry (as much) about the CVEs that was issued recently. https://github.com/rockwotj/jq-wasi
Good to hear, I think it'll make many users happy. For me, I've migrated back to Authelia. I moved to authentik because at the time Authelia had no user management. After all of authentik's sharp edges, I've found lldap[0], and was able to implement a pilot in a few hours. I haven't looked back, since everything was converted.
[0]: https://github.com/lldap/lldap
Note that Leptos uses Trunk to serve the client side application. Trunk is a zero-config Wasm web application bundler for Rust.
Bonuses: If you purchase Cloudflare for Speed and Security before November 4, 2023, you'll get my bestseller, Black Hat Rust, for free! Yes, you read it right, two books for less than the price of one!
Rust WASM related posts
- Show HN: OS Image processing API running on edge functions using Rust and WASM
- Ask HN: Why would you ever use C++ for a new project over Rust?
- Egui 0.27 – easy-to-use immediate mode GUI for Rust
- Migrating a JavaScript frontend to Leptos, a Rust framework
- Run Windows on the browser with WASM power
- Unlocking the Power of WebAssembly
- NoteCalc 0.4.0
-
A note from our sponsor - SaaSHub
www.saashub.com | 24 Apr 2024
Index
What are some of the best open-source WASM projects in Rust? This list will help you:
Project | Stars | |
---|---|---|
1 | egui | 19,596 |
2 | v86 | 19,092 |
3 | dioxus | 18,291 |
4 | wasmer | 17,735 |
5 | RustPython | 17,539 |
6 | tree-sitter | 16,450 |
7 | slint | 15,020 |
8 | wasmtime | 14,407 |
9 | genact | 8,800 |
10 | wasm-bindgen | 7,270 |
11 | burn | 7,020 |
12 | wasm-pack | 5,923 |
13 | boa | 4,679 |
14 | lunatic | 4,530 |
15 | winit | 4,390 |
16 | Seed | 3,786 |
17 | extism | 3,728 |
18 | Ambient | 3,724 |
19 | krustlet | 3,532 |
20 | lldap | 3,473 |
21 | Rhai | 3,460 |
22 | trunk | 3,161 |
23 | black-hat-rust | 3,044 |
Sponsored