relm
vgtk
Our great sponsors
relm | vgtk | |
---|---|---|
23 | 14 | |
2,391 | 1,038 | |
- | - | |
5.0 | 0.0 | |
4 months ago | about 2 years ago | |
Rust | Rust | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
relm
- [Rust] Pouvez-vous faire une bonne interface graphique dans Rust?
-
Rust GUI framework
There is Iced which is used by system76 in Pop!_OS, Druid [DISCONTINUED], GTK-rs, Relm, Azul and Tauri. Personally I would use Tauri for its speed using the OS's native web render, documentation of use with things such as Sveltekit and the ability to make UI's using JS, CSS and HTML. Tauri similarly to Electron whilst being far faster. But its up to personal preference really. There aren't any solid "go to" options at the moment.
-
What are the pros/cons of the best GUI options for a cross platform app in Rust?
Currently, I have narrowed potential libraries to: 1. Flutter 2. FLTK 3. Relm (GTK) 4. iced 5. Slint 6. Imgui, Imgui-rs 7. and gtk-rs
-
Hey Rustaceans! Got a question? Ask here (4/2023)!
Relm (GTK)
-
is makeing Vulkan guis worth it?
Relm, Slint (formerly SixtyFPS), Druid and Iced are all very promising idiomatic GUI toolkits with a great deal of community activity around them, and all of those perform substantially better in the accessibility department than ImGui and egui, to my knowledge. areweguiyet.com can give you some more pointers as well.
-
The state of Rust GUI libraries
To use relm, you need to add the gtk and relm libraries to your project's dependencies in your Cargo.toml file. You’ll also need to have the gtk library installed.
-
A declarative desktop UI framework for Rust built on GTK and GTK-rs
No , not really a lot of the time people are trying to tackle problems that have taken years to solve in other languages which isn’t easy and is why you see stuff abandoned. This project is also pretty similar to [relm](https://github.com/antoyo/relm) which is an active project.
-
egui or iced or druid?
The [older gtk3 version of relm](https://github.com/antoyo/relm) has 2.1k stars. Relm4 is uses gtk4 which is newer.
-
Any good resources for using Rust with GTK4 and Libadwaita?
Relm (supposedly more idiomatic)
- Does Rust have a React-like GUI framework? If not, why not?
vgtk
-
Rust: State of GUI, December 2022 – KAS blog
A pretty fun Rust GUI experienc is vgtk[0], which is doing a bunch of macro magic to give a "we're coding in React" vibe to GTK+. I don't really have a specific thing I want to code in a native GUI at the moment but if I did I think this would be the most tempting for me.
-
Code bloat has become astronomical
a stateful GUI markup language is react. it is not yet the case that react-like code works for desktop, though there are cool examples like vgtk https://github.com/bodil/vgtk
-
A declarative desktop UI framework for Rust built on GTK and GTK-rs
from what i gather from https://github.com/bodil/vgtk/issues/78, you're better off using realm
I'm always curious to see these projects, because I've been experimenting with a React renderer for the GJS bindings for a while. It's frustrating because GTK "feels like" it's so close to being able to support a vdom/declarative paradigm, but the devil is in the details.
The simple use-cases like "Window > Box > Label" are easy to get going. The more complex widgets like Stack/Grid/TreeView ... aren't.
This project seems to have the same issue: https://github.com/bodil/vgtk/issues/40
This is made more difficult now GTK4 has removed the Container base class, so there's no longer a unified interface for adding children (although it had caveats in the first place).
I totally get the GTK view that (presumably) specific widgets are more intuitive with specific add/remove APIs (like the grid - one doesn't really "appendChild" to a grid).
It just feels like: if there was a consistent container API comparable to the web's appendChild approach, a vdom/declarative approach would require only a very light wrapper. Without it, I keep coming back to the idea of implementing wrapper widgets that expose that consistent API instead. And that's just not something I want to maintain - effectively duplicating each GTK widget for the purpose of making it fit into a tree model.
It's also a problem of trying to wrap richer functionality (pack_start and pack_end) into a simpler set (append only) of course.
So I don't know exactly what my point is :) Perhaps cautioning the reader that the simplicity of the approach comes with a catch.
-
Hacker News top posts: May 28, 2022
A declarative desktop UI framework for Rust built on GTK and GTK-rs\ (23 comments)
-
Newbie here. Just finished reading the book. What now?
Build your own To-do List Application in Rust: https://bodil.lol/vgtk/
-
Rust GUI: Introduction, a.k.a. the state of Rust GUI libraries (As of January 2021)
VGTK
What are some alternatives?
gtk - DEPRECATED, use https://github.com/gtk-rs/gtk3-rs repository instead!
Azul - Desktop GUI Framework
iced - A cross-platform GUI library for Rust, inspired by Elm
libui-rs - Rust bindings to the minimalist, native, cross-platform UI toolkit `libui`
wxRust - A Rust binding of the wxWidgets cross platform toolkit.
Relm4 - An idiomatic GUI library inspired by Elm and based on gtk4-rs [Moved to: https://github.com/Relm4/Relm4]
conrod - An easy-to-use, 2D GUI library written entirely in Rust.
Slint - Slint is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. We support multiple programming languages, such as Rust, C++ or JavaScript. [Moved to: https://github.com/slint-ui/slint]
orbtk - The Rust UI-Toolkit.
dioxus - Fullstack GUI library for web, desktop, mobile, and more.
Native Windows GUI - A light windows GUI toolkit for rust
QML-rust - QML (Qt Quick) bindings for Rust language