Rust GUI

Open-source Rust projects categorized as GUI

Top 23 Rust GUI Projects

  • iced

    A cross-platform GUI library for Rust, inspired by Elm

    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)?

  • egui

    egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native

    Project mention: Textual Web: TUIs for the Web | news.ycombinator.com | 2023-09-07

    > [...] 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.

    Project mention: What would be the default gui library to choose ? | /r/rust | 2023-06-27
  • druid

    A data-first Rust-native UI design toolkit. (by linebender)

    Project mention: What can rust do | /r/rust | 2023-04-10

    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.

  • Fyrox

    3D and 2D game engine written in Rust

    Project mention: Alternative Game Engines for Marooned Unity Developers | /r/gamedev | 2023-09-22

    checkout https://fyrox.rs

  • Azul

    Desktop GUI Framework

    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.

    https://github.com/fschutt/azul

  • Cursive

    A Text User Interface library for the Rust programming language

    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.

  • orbtk

    The Rust UI-Toolkit.

    Project mention: Masonry 0.1 (Rust GUI framework) | news.ycombinator.com | 2023-02-05

    i was gonna bring up https://github.com/redox-os/orbtk only to discover it's no longer under active development.

  • stdweb

    A standard library for the client-side Web

    Project mention: Surprises in the Rust JSON Ecosystem | /r/rust | 2023-01-19

    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

  • conrod

    An easy-to-use, 2D GUI library written entirely in Rust.

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

  • relm

    Idiomatic, GTK+-based, GUI library, inspired by Elm, written in Rust

    Project mention: [Rust] Pouvez-vous faire une bonne interface graphique dans Rust? | /r/enfrancais | 2023-02-23
  • imgui-rs

    Rust bindings for Dear ImGui

    Project mention: I need a GUI framework that can do the following! | /r/rust | 2023-04-20

    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.

  • Termion

    Mirror of https://gitlab.redox-os.org/redox-os/termion

    Project mention: When to flush()? | /r/learnrust | 2023-05-29

    This is an example from the Termion crate:

  • Native Windows GUI

    A light windows GUI toolkit for rust

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

    GUI for neovim, without any web bloat

    Project mention: Nvim-rs new release 0.5 | /r/neovim | 2022-10-12

    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)

    Project mention: macOS Apps in Rust | /r/patient_hackernews | 2023-05-14
  • rui

    Declarative Rust UI library

    Project mention: Considerations for Power Draw with egui | /r/rust | 2023-04-19
  • fltk-rs

    Rust bindings for the FLTK GUI library.

    Project mention: Explain how to use fltk tile group | /r/rust | 2023-06-25

    I have added a tile example to the repo, it's based on the FLTK example.

  • ludusavi

    Backup tool for PC game saves

    Project mention: Best cloud saved data solutions? | /r/ROGAlly | 2023-07-02
  • kondo

    Cleans dependencies and build artifacts from your projects.

    Project mention: Cleans dependencies and build artifacts from your projects | news.ycombinator.com | 2023-05-10
  • ritual

    Use C++ libraries from Rust

  • Relm4

    Build truly native applications with ease!

    Project mention: Resources for learning to write ui files for GTK4 | /r/gnome | 2023-07-01

    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.

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 2023-09-22.

Rust GUI related posts

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
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.
www.influxdata.com