Remix.run Logo
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.

stefanka an hour ago | parent [-]

They use rust for the gpu

https://github.com/zed-industries/zed/tree/main/crates/gpui

See the discussion on a collection of elements ontop

https://news.ycombinator.com/item?id=45719004

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

OtomotO an hour ago | parent [-]

I'd like to have non-imperative gui code in Rust.

Why Rust? Because I like its power and with recent developments such as subsecond the compile times are absolutely negligible.

sunbum an hour ago | parent | prev | next [-]

Why does that link redirect to a fart sound hosted on Wikipedia?

bakugo 11 minutes ago | parent | next [-]

A quick glance at the website in question suggests that its owner may not be particularly mentally mature.

heavensteeth an hour ago | parent | prev [-]

The author doesn't like HN.

dmit 8 minutes ago | parent [-]

The Referer header strikes again. You'd think the typo in its name would be the worst thing about it, but nope.

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.