| ▲ | RustSupremacist 5 hours ago | ||||||||||||||||||||||
People keep asking why TUIs in Rust and the answer is because the GUI situation in Rust is dreadful: https://www.boringcactus.com/2025/04/13/2025-survey-of-rust-... Rust is simply not meant for GUI-based data design but I still want Qt in Rust. That's it. Not QML or Slint. No markup at all. None of the immediate mode things. No other languages. Definitely not GTK. I'm worried it will never happen for Rust and it will be such a missed opportunity. | |||||||||||||||||||||||
| ▲ | weinzierl 24 minutes ago | parent | next [-] | ||||||||||||||||||||||
Apart from what you said about the GUI situation in Rust (which I disagree with) I think TUI's have their niche. I think writing a useful GUI has considerable overhead no matter which technology you use. In addition they cause other difficulties, like testability, i18n, l10n and accessability. This is why people often resort to command line tools, rightfully so. There are cases, however, where a CLI won't cut it and I believe TUI's are a nice and lean solution that sits right between CLI and full-blown GUI and isn't going anywhere. | |||||||||||||||||||||||
| ▲ | elmt35 an hour ago | parent | prev | next [-] | ||||||||||||||||||||||
Zed (https://zed.dev) is a GUI built in rust. Im not an expert in GUI building so maybe I'm wrong and they used a separate language for the GUI. | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | goku12 4 hours ago | parent | prev | next [-] | ||||||||||||||||||||||
You basically preempted nearly every single option, including an incumbent one. I don't believe it's fair to judge Rust based on its compatibility with Qt alone - something written in C++. Nothing against C++, but it's harder to get C++ and Rust to work together. You haven't addressed Iced yet, though going by your requirements, you're unlikely to be satisfied by it as well. Iced is not there yet, but it is the native GUI toolkit of the Cosmic desktop. | |||||||||||||||||||||||
| ▲ | ogoffart 3 hours ago | parent | prev | next [-] | ||||||||||||||||||||||
Author of one of these "markup"-based toolkits here. I believe that Rust might not be the best language syntax to express UI. I am curious why you are so strongly against using a DSL. This topic comes up often, so I wrote a blog post explaining why I think a DSL is a good fit: https://slint.dev/blog/domain-specific-language-vs-imperativ... | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | sunbum an hour ago | parent | prev | next [-] | ||||||||||||||||||||||
Why does that link redirect to a fart sound hosted on Wikipedia? | |||||||||||||||||||||||
| |||||||||||||||||||||||
| ▲ | lenkite an hour ago | parent | prev | next [-] | ||||||||||||||||||||||
Doesn't https://github.com/longbridge/gpui-component tick all your boxes ? | |||||||||||||||||||||||
| ▲ | dancemethis 4 hours ago | parent | prev [-] | ||||||||||||||||||||||
I kept forgetting Narrator is a Windows program, and the post read like the author was referring to the "Narrator voice in their head" while testing the UIs. It made the post more amusing, actually. I sighed when I saw "Windows Narrator" suddenly. | |||||||||||||||||||||||