iced-counter2
Slint
Our great sponsors
iced-counter2 | Slint | |
---|---|---|
1 | 60 | |
0 | 3,094 | |
- | - | |
0.0 | 9.9 | |
over 2 years ago | about 2 years ago | |
Rust | Rust, C++, JavaScript | |
- | 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.
iced-counter2
-
Iced: A cross-platform GUI library for Rust, inspired by Elm
The iced package requires the messages to implement the Debug, Clone, and Send traits, none of which are available for closures. I was able to implement something similar to your example[0] but it only supports plain function pointers for the callbacks. The compiler wasn't able to derive a sufficiently general Debug trait for the function pointer due to an issue with the lifetime of the argument, so I had to implement that myself as well.
Incidentally, as long as there are situations where only function pointers can be used and not closures it would be really nice to have some support for anonymous function pointers in Rust (with the fn type and not just the Fn trait) so that one could write e.g. "Message(fn |c| c.value += 1)" instead of "Message({ fn f(c: &mut Counter) { c.value += 1 } f })". Or just infer the fn type for "closures" which don't actually close over any variables without the need for an extra keyword.
[0] https://github.com/nybble41/iced-counter2/blob/master/src/ma...
Slint
-
Slint VS slint - a user suggested alternative
2 projects | 17 Oct 2023
-
Will Qt support the Rust language by default? (just curiosity)
As an anecdote, the three top contributors to sixtyfps are ex-Qt people. I think it is not anecdotal that there is at least some degree of overlap and competition between Rust and C++, and that this is a market that surely The Qt Company is watching.
-
BeeWare – write Python, run as native everywhere
SixtyFPS (https://sixtyfps.io/) is in progress for Rust, but it is still early days. It also does not technically use a native toolkit (it uses Qt), but I believe that might be on roadmap. For traditional GUI apps, I think the lack of a table or tree widget is the most limiting for the time being. They have stated they intend to remedy that.
-
What are the best GUI libraries for a potentially “serious”/large project?
The most promising GUI hasn't been posted here, SixtyFPS. It's in it's early stages and not FOSS, but it's built by some ex-QT cats and has a lot of potential.
-
Is there a reliable and documented GUI library out there?
People have been recommending https://sixtyfps.io/ to me.
- Images in sixtyfps
-
Is it worth writing a GUI toolkit in Rust?
There is already a project to make a Qt like GUI toolkit in Rust: https://sixtyfps.io/ It is really similar to Qt https://sixtyfps.io/releases/0.1.5/docs/rust/sixtyfps/index.html
-
Tauri – Electron alternative written in Rust
People are doing that too. https://sixtyfps.io/ is basically a Qt clone in Rust, actually developed by previous Qt developers.
-
I'm giving out microgrants to open source projects for the third year in a row! Brag about your projects here so I can see them, big or small!
spdlog, a pretty useful and more and more commonly used logging library for C++.\ SixtyFPS, an emerging GUI library for Rust, but you can use it in multiple languages. It uses OpenGL or Qt currently as backend (well, it's a new library and they wanted two from the get-go to make sure their abstractions are done right/well enough). They started a company this year for it too.
-
Why I choose Electron even when I wanted to use QT
Just so some are not aware, there's a new project called sixtyfps by some people who were in the Qt world for long. I didn't take a deep dive into it but it looks promising.
What are some alternatives?
wry - Cross-platform WebView library in Rust for Tauri.
egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
iced - A cross-platform GUI library for Rust, inspired by Elm
iced - Blazing fast and correct x86/x64 disassembler, assembler, decoder, encoder for Rust, .NET, Java, Python, Lua
DearPyGui - Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
Druid - Apache Druid: a high performance real-time analytics database.
FLTK - FLTK - Fast Light Tool Kit - https://github.com/fltk/fltk - cross platform GUI development
druid - A data-first Rust-native UI design toolkit.
webrender - A GPU-based renderer for the web
gtk4-rs - Rust bindings of GTK 4