Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge. Learn more →
Top 23 Rust GUI Projects
-
Project mention: I'm trying to build a progress bar for an Iced GUI app and having a lot of trouble with it. | /r/rust | 2023-09-22
I am building an app using Iced that takes hashes of the files in a directory and assigns them to a profile. The problem is that I can't get the progress bar to update in real time. I've been checking out examples like this https://github.com/iced-rs/iced/tree/master/examples/download_progress. But I just can't get the progress bar to move. Is anyone available to take a look at my code and maybe show me a fix (as long as you're okay with MIT licensing your changes)?
-
> [...] you can build UIs that are snappy and keyboard driven.
That's not an advantage that is exclusive to TUIs; after all, you're running your TUI inside a graphical application that emulates a terminal. (Unless you're rocking an actual VT102, in which case I bow down to you.)
In fact there's an entire class of applications that are extremely snappy and keyboard driven, by their very nature: games.
Some people have taken to writing GUI apps like you'd write a game, and the effects range from OK to fantastic. Check out Lagrange (https://gmi.skyjake.fi/lagrange/), AppManager (https://tildegit.org/solene/AppManager), Dear ImGUI (https://github.com/ocornut/imgui), egui (https://github.com/emilk/egui), and many others.
-
SonarLint
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
-
slint
Slint is a declarative GUI toolkit to build native user interfaces for applications that are written in Rust, C++, or JavaScript.
-
For GUI applications, the story is mixed. There are several GUI frameworks in active development, but nothing as polished and battle-tested as Electron for TypeScript. There are bindings to GTK, but they're cumbersome to work with, and I wouldn't recommend it to a Rust newbie. There's also Tauri, which is a bit like Electron and lets you write the GUI in HTML/CSS/JS and the business logic in Rust.
-
checkout https://fyrox.rs
-
Project mention: Servo, the parallel browser engine written in Rust | news.ycombinator.com | 2023-05-27
I'd been wanting to see this, preferably with JS being optional, and just allowing direct DOM access.
I initially thought this was what Azul was, but it's only just using Servo's WebRender compositor, and rolls its own CSS parser, DOM, and layout engine, so it doesn't benefit from most of the work done on Servo, and supports less CSS features.
-
Project mention: Projectable: A TUI file manager built for projects | news.ycombinator.com | 2023-06-25
Rust has great libraries for TUIs. tui-rs (https://github.com/fdehau/tui-rs) has been used in numerous popular applications, but is unmaintained. ratatui (https://github.com/tui-rs-revival/ratatui) is the maintained version, and is pretty new. Less widely known is cursive (https://github.com/gyscos/cursive), which I have yet to try.
Aside from the libraries, I just wanted to start a project that would make be better at Rust. The easy distribution with cargo is a huge bonus though.
-
Mergify
Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.
-
i was gonna bring up https://github.com/redox-os/orbtk only to discover it's no longer under active development.
-
But, I wish devs would atleast archive the repo and put a "NOT-MAINTAINED" notice in the readme. one of my surprises was stdweb crate with 150k+ downloads per month being dead for three years eg: https://github.com/koute/stdweb/issues/403
-
-
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.
-
Project mention: [Rust] Pouvez-vous faire une bonne interface graphique dans Rust? | /r/enfrancais | 2023-02-23
-
There are rust bindings for Dear Imgui. It's a great immediate mode gui that has been used in the gaming industry for tooling. It supports floating windows and such. And there is a lot of customisability to be had. The benefit of the immediate mode gui is that it is constructed and rendered separately from the rest of the logic. Allowing you to build out whatever the gui is for, separately. Then, the gui can be removed from the final build if that is what you want.
-
This is an example from the Termion crate:
-
Project mention: I have 0 coding experience or knowledge. I used ChatGPT to create code that would automate 80% of my work and I don't know how to deal with this newfound power | /r/ChatGPT | 2023-05-27
-
Nvim-rs is a rust library for writing rpc clients for neovim, utilizing the async/await language feature. It allows to write guis that embed neovim (like neovide and gnvim), external clients (like nvim-send), or more standard plugins (like this port of the iconic scorched earth).
-
cacao
Rust bindings for AppKit (macOS) and UIKit (iOS/tvOS). Experimental, but working! (by ryanmcgrath)
-
-
I have added a tile example to the repo, it's based on the FLTK example.
-
-
Project mention: Cleans dependencies and build artifacts from your projects | news.ycombinator.com | 2023-05-10
-
-
I’d recommend you checking out https://relm4.org if you know a little Rust. Relm4 is currently the easiest and most intuitive way to write GTK
-
InfluxDB
Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
Rust GUI related posts
- I'm trying to build a progress bar for an Iced GUI app and having a lot of trouble with it.
- Fyrox - A feature-rich game engine built in Rust.
- An interpreter for a forgotten 1991 scripting language in rust
- My Journey Away from the JAMstack
- 🔥 Why I chose Tauri instead of Electron 🔥
- Rust GUI Development?
- Series Troxide, A Simple and Modern Series Tracker written in Rust.
-
A note from our sponsor - InfluxDB
www.influxdata.com | 25 Sep 2023
Index
What are some of the best open-source GUI projects in Rust? This list will help you:
Project | Stars | |
---|---|---|
1 | iced | 20,575 |
2 | egui | 16,481 |
3 | slint | 9,612 |
4 | druid | 9,099 |
5 | Fyrox | 6,587 |
6 | Azul | 5,621 |
7 | Cursive | 3,788 |
8 | orbtk | 3,769 |
9 | stdweb | 3,404 |
10 | conrod | 3,320 |
11 | sycamore | 2,433 |
12 | relm | 2,332 |
13 | imgui-rs | 2,321 |
14 | Termion | 2,000 |
15 | Native Windows GUI | 1,755 |
16 | gnvim | 1,745 |
17 | cacao | 1,573 |
18 | rui | 1,426 |
19 | fltk-rs | 1,310 |
20 | ludusavi | 1,301 |
21 | kondo | 1,204 |
22 | ritual | 1,157 |
23 | Relm4 | 1,061 |