iced
gtk-rs
Our great sponsors
iced | gtk-rs | |
---|---|---|
125 | 34 | |
17,815 | 442 | |
1.9% | 3.6% | |
9.8 | 8.9 | |
4 days ago | 7 days ago | |
Rust | Rust | |
MIT License | MIT License |
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.
iced
- Masonry 0.1 (Rust GUI framework)
-
Tauri vs Iced vs egui: Rust GUI framework performance comparison (including startup time, input lag, resize tests)
I looked at this graph and it seemed that that vast majority was done by the top contributor. But I guess these graphs can be fairly misleading :/ Fixed my post! Thanks for pointing out the error!
-
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
-
C++ evolution vs C++ successor languages. Circle's feature pragmas let you select your own "evolver language."
Lets take me as an example, I am a crossplatform GUI application developer, with C++ I have Qt which is an awesome, feature-rich and battle tested framework which runs on virtually any device and has it's own declarative UI language that makes UI development much more pleasant. What what would I go for with rust? The best I've found so far is iced (https://github.com/iced-rs/iced) which indeed looks nice, but at its current state, it is not remotely comparable to Qt. The last time I checked, It did not even support multi line text editing.
- [Media] A GUI installer for redox is coming soon, written in iced!
-
Hey Rustaceans! Got a question? Ask here (4/2023)!
iced
-
Implement both API and GUI?
Besides a browser based GUI you have many other options like egui, Iced etc. In this case you can still use HTTP for communication between your programs, but also sockets, and, if the programs run on the same machine, named pipes and shared memory (which is more efficient for sharing big data chunks).
-
Can I develop desktop apps with Rust without using a framework such as Tauri?
If you want to use separate codebases, then you might consider egui, iced or gtk-rs for the desktop part.
-
Are there plans to improve concurrency in Rust?
I think this is something that iced is doing really well (which is inspired by elm which damn near did it perfectly, imo).
-
Dioxus: User interfaces that run anywhere
You can use GTK from Rust. But the Rust native ones aren't really there yet. [Iced](https://github.com/iced-rs/iced) which has been picked up by System76 and [Druid](https://github.com/linebender/druid) (and it's next gen version [Xilem](https://github.com/linebender/xilem)) are the ones to watch, along with Dioxus which is the main post here.
I'd expect there to be something useable by the end of 2023.
gtk-rs
-
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)!
and gtk-rs
-
Can I develop desktop apps with Rust without using a framework such as Tauri?
If you want to use separate codebases, then you might consider egui, iced or gtk-rs for the desktop part.
-
My university teacher wants to torture me with .NET Core & VS2022
The [gtk-rs](https://gtk-rs.org/) project provides GTK bindings for Rust.
-
Is there any way to interop with JS in Zig/RS/C/C++?
For an Electron-like framework, try Tauri. Qt Quick also uses an ECMAScript dialect named QML on the frontend and you could use QMetaObject to embed a QWebEngine instance and run regular JavaScript in it via WebView.runJavaScript. Another option for a similar result would be to use gtk-rs's binding to webkit2gtk.
-
Elementary OS – Why we write elementary apps in Vala
Elementary is heavily dependent on the GTK ecosystem, which has its own OOP system implemented in C (for example like GObject). It is really hard to map GTK's OOP semantics to Rust. People have tried things like https://github.com/gtk-rs/gtk3-rs, but it requires heavy macro usage and doesn't feel like ergonomic Rust. On the other hand Vala is directly built upon the GObject system on the first place, so it's more fitting for GTK-specific development.
-
UI Framework
Most Rust frameworks are pretty new and unstable. gtk-rs is probably the most stable. For a full native rust experience, druid and Slint are probably the most feature-full, though I don't think they're "productions ready"
-
The state of Rust GUI libraries
The gtk-rs project provides safe Rust bindings for GNOME stack-based libraries, like the GTK 3 and GTK 4 libraries. The gtk3-rs and gtk4-rs libraries provides GTK 3 and GTK 4 functionalities, respectively.
-
Is it conveninent to make cross-platform GUI softwares using Rust now?
I've got some good experience with https://gtk-rs.org/ but it won't target your cell phone
-
Going all-in on Rust
As someone else who has been moving away from Python for the better compile-time guarantees, the faster startup time for little CLI tools, and the easier deployment, I have to say that, unless you're willing to foist gtk-rs GUIs on people, which feel increasingly alien outside the GNOME desktop environment on Linux, or use something kind of primitive like fltk or egui, you'll still need a scripting language for GUI frontend development be it something like JavaScript/TypeScript with Tauri, QML (also an ECMAScript dialect) with a Qt Quick 2 wrapper like qmetaobject (Note that my experience has been that it's hard to keep a Qt Quick 2 UI from feeling like a reskinned mobile app), or using PyO3 with PyQt or PySide to write a QWidget-based frontend for Rust in a manner similar to how you use QML to write a Qt Quick 2 frontend for C++ or Rust or Python or whatever else.
What are some alternatives?
egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native
yew - Rust / Wasm framework for building client web apps
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
druid - A data-first Rust-native UI design toolkit.
Druid - Apache Druid: a high performance real-time analytics database.
fltk-rs - Rust bindings for the FLTK GUI library.
orbtk - The Rust UI-Toolkit.
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.
plotters - A rust drawing library for high quality data plotting for both WASM and native, statically and realtimely 🦀 📈🚀
sixtyfps - 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]