Live data from Hacker News

Rust cross-platform GPUI components

github.com

211–220 of 225 posts

Re: Rust cross-platform GPUI components

#211

Sad to see that the C++ community is sleeping on this. There are no modern GUI components or toolkits, specially under such a permissive license. Excited about the future of Rust GUI development, this is fantastic.

Qt is modern enough, still there are hardly any Rust libraries as feature rich in capabilities and designer related tooling.

It is also the KDE infrastructure, used in plenty of infotaiment, factory dashboards and medical devices.

Re: Rust cross-platform GPUI components

#212
post #2

This looks to be one of the most complete Rust UI creates (in terms of available widgets/components), but unfortunately has almost no usage (yet). I do see their docs are coming along now. Another very complete one is fyrox-ui used by the fyrox game engine: https://crates.io/crates/fyrox-ui . Again, not really used/known outside of fyrox. The Rust UI scene is maturing, but the most popular options (iced, egui, dioxus…

I’m so tempted to find out if Claude and friends can work with it, cause it’s new, rust and and unique

Re: Rust cross-platform GPUI components

#213
post #210

Earlier quoted context omitted.

None of which is used by for example the Office team, which maintains their own UI Framework just for Office. Which itself is not used by Teams, which uses electron/WebView2, even though Teams is part of Office. And let’s not forget about MAUI, which has its own components and UI library, which as far as I know is not used by anyone at Microsoft. And I’ve heard from people at Microsoft that the future story of .NET U…

Moving goalposts, the point was what are the native APIs. Office framework would not exist without Win32, and usually it is made available on Win32, e.g. ribbon as common control. Xamarin was never used at Microsoft, how to expect the rewrite to go any better. This acquisition was a mess, almost everything from Xamarin is gone. Again, not a native API. Blazor only matters for Web applications and PWAs, unless Windows…

Blazor is only for web applications, until you run into Blazor Hybrid, which doesn’t produce web applications!

Re: Rust cross-platform GPUI components

#214
post #210

Earlier quoted context omitted.

Moving goalposts, the point was what are the native APIs. Office framework would not exist without Win32, and usually it is made available on Win32, e.g. ribbon as common control. Xamarin was never used at Microsoft, how to expect the rewrite to go any better. This acquisition was a mess, almost everything from Xamarin is gone. Again, not a native API. Blazor only matters for Web applications and PWAs, unless Windows…

Blazor is only for web applications, until you run into Blazor Hybrid, which doesn’t produce web applications!

That is marketing gimmicks trying to get additional market share, and the current adoption failure of MAUI customers, as teams leave Xamarin ecosystem after the Xamarin.Forms to MAUI (incompatible) rewrite.

I give zero value to Blazor Hybrid, from my point of view it doesn't exist.

Re: Rust cross-platform GPUI components

#215
post #82

Do these "modern" UI toolkits not have visual editors for knocking up the UI anymore? One of the strengths of Qt based UIs is that the framework has IDE like tools where creating UIs is just a matter of drag and dropping the UI widgets into a layout. No need to write code by hand. Both QtCreator and QtDesigner can support this workflow. Secondarily this comparison table has several problems when it comes to Qt. * The…

This is just meant to show how awesome their toolkit is, without the goal of having fair comparison. They list chart widget, but they do not list 3D chart widget, because then they would need to show that they do not have it, but Qt does. Same for equivalent of QGraphicScene etc.

Truth is Rust doesn't have, and will not have anytime soon anything comparable to Qt or VCL/LCL. No amount of GitHub starts and "made in Rust" disclaimers is going to change that.

Re: Rust cross-platform GPUI components

#216
post #118

Earlier quoted context omitted.

I think you misread the post you're replying to. GP is complaining about it being incompatible with "GPLv3-or-later" Free Software, not with commercial or permissive OSS.

Yes, and being incompatible with GPLv3-or-later may be done on purpose to push folks into a commercial license.

GPLv3-or-later is currently almost the same as GPLv3-only at the moment given there is no GPLv4.

The reason why it's not possible to include GPLv3-only code in a GPLv3-or-later codebase is that the latter is more permissive, allowing the FSF to release an updated version of the GPL.

They won't make GPLv4 any less copyleft and more permissive than GPLv3, if they ever do make one. At worst, the GPLv4 will cause some commercial user of the code to be even more inconvenienced.

Re: Rust cross-platform GPUI components

#217
post #2

This looks to be one of the most complete Rust UI creates (in terms of available widgets/components), but unfortunately has almost no usage (yet). I do see their docs are coming along now. Another very complete one is fyrox-ui used by the fyrox game engine: https://crates.io/crates/fyrox-ui . Again, not really used/known outside of fyrox. The Rust UI scene is maturing, but the most popular options (iced, egui, dioxus…

I’m so tempted to find out if Claude and friends can work with it, cause it’s new, rust and and unique

With the right workflow you can work with any language and library, by managing the context carefully and "showing-not-telling". I've worked with Claude Code and Codex on lots with Rust and Clojure, seems to not have any more issues than when I use Python.

Re: Rust cross-platform GPUI components

#218
This is really interesting. As a new Zed user, I've read about GPUI, but have no insights.

Coming from years of working with Qt, I'm always fascinated by the search for the "holy grail" of GUI libs. It's surprising how elusive a true "write-once-run-everywhere" solution (that's also good) still is.

My main question is about your long-term, cross-platform vision: How are you thinking about the matrix of Desktop, Web, and Embedded systems? Qt (for all its baggage) made a real run at desktop/embedded. Do you see GPUI components eventually covering all three, or is the focus purely on desktop/web for now?

Re: Rust cross-platform GPUI components

#219
post #65
post #36

Earlier quoted context omitted.

> lose styling consistency Yes. And that is (almost always¹) a good thing. Only the designers of an app, product-owners etc. want their app to "look consistent over platforms". Your users want the file-dialog, window-chrome, menus etc consistent too. But for them consistent means consistent with the 20+ other applications they use on a daily base. So native. ¹ Obviously some software excepted. E.g. categories like "e…

Emacs, which still uses CUI-incompatible keybindings and even key names from a keyboard that hasn't been made since the 01980s. Videogames. Excel still supports MS-DOS Lotus 1-2-3 "/" commands, although it certainly doesn't look like Lotus for MS-DOS. Basically any software people care about is an exception to your rule.

> E.g. categories like "expert software"

As pointed out.

Re: Rust cross-platform GPUI components

#220
post #36

Earlier quoted context omitted.

> lose styling consistency Yes. And that is (almost always¹) a good thing. Only the designers of an app, product-owners etc. want their app to "look consistent over platforms". Your users want the file-dialog, window-chrome, menus etc consistent too. But for them consistent means consistent with the 20+ other applications they use on a daily base. So native. ¹ Obviously some software excepted. E.g. categories like "e…

Actually users think functionality is 1000x more important than what it looks like. Since making things look nice takes away dev time from functionality, what it looks like doesn't matter much (above some minimum expectation of course).

Not entirely.

I care a lot if an app on my android suddenly opens an IOS date picker.

Because I don't care about date pickers. I don't care about how it looks. All I care about is picking a date and doing that fast.

But now I have to learn a -to me- unfamiliar interface, spend cognitive load on something unrelated to what I was trying to do (e.g. schedule a date with a friend)

Post reply on HN