Rust cross-platform GPUI components

github.com

217 points by xvilka 5 hours ago


nu11ptr - 4 hours ago

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, slint, etc.) aren't even the most complete component-wise atm as far as I can tell.

UPDATE: This honestly looks incredible and makes huge strides in the Rust UI landscape. You can run an impressive widget gallery app here showing all their components:

https://github.com/longbridge/gpui-component/tree/main/crate...

Just "cargo run --release"

WhyNotHugo - an hour ago

The simplest examples have over a thousand (literally) dependencies. Amongst them, are GTK, GDK, pango, etc. It literally depends on another toolkit, which is the weirdest thing IMHO.

agluszak - 4 hours ago

I find it sad that a lot of foundational open-source software is created/maintained by trading/crypto/money laundering companies. But OTOH it's great that they at least contribute _something_ to the society!

the_duke - an hour ago

Virtualized lists and tables are amazing!

So many UI frameworks don't have these and require building them yourself...

miki123211 - an hour ago

Does this implement accessibility at all?

This is often a problem with Rust UI frameworks, they may look beautiful, but the moment accesibility becomes a requirement, the whole app needs to be scrapped and rewritten in something more mature.

kennydude - 4 hours ago

Looks great for those using Rust - however I do wonder how well this works, if at all, under screen readers and other accessible tech?

Keyframe - an hour ago

I'm interested in how's the battery life while running a thing ilke this. Another thing I'm interested in does it support rendering to texture.. usage being used as a texture on an object (monitor let's say) in a game or rendered as a texture with opacity on a quad/triangle over a screen as a UI layer or a HUD

fidotron - 3 hours ago

Is this native as in "not web" or native as in actually using native text entry and scrolling widgets? There is quite a huge difference as the Java world discovered.

- 29 minutes ago
[deleted]
unwind - 4 hours ago

That showcase application (other than Zed) looks awesome, but the very fancy-looking home page [1] fails to have a one-liner explanation of, uh, what the application does. Please consider fixing.

[1]: https://longbridge.com/desktop/

wongarsu - 3 hours ago

Rust certainly needs more GUI component collections. There are lots of GUI toolkits, but a comparatively small number of prebuilt components you can use with any of them.

This collection looks quite useful, though the component list is mostly indistinguishable from a list of components for a web framework. The webview component is the only one that seems somewhat specific to native applications. So for something like a file-open dialog you would still have to pull in something like rfd [1] and lose styling consistency

1: https://docs.rs/rfd/latest/rfd/

ramon156 - 3 hours ago

Although its still very vertically scoped for zed, I'm way more hyped about this UI than iced, dioxus ui, gtk-rs, etc. because of how complete it already is in an early stage.

Then again I love zed so I might be biased.

h4ch1 - 2 hours ago

GPUI and GPUi components are the two things I'm watching very closely while evaluating truly native GUI development.

Still waiting to see more general use before attempting to port my Svelte UI for a Tauri application but it honestly looks incredible.

Big ups to the guy(s) at Longbridge.

georgeburdell - an hour ago

2 hours after it's posted on HN, the repo has its first "readme.md typo fix" commit.

brainless - 3 hours ago

This looks very good from the screenshots. I will try this as quickly as I can. I have been building with egui and have tried Iced, Slint and Makepad.

I built (agentic coded) a stocks viewer app for Indian stock market data: https://github.com/brainless/Indistocks. It was a fantastic experience as to how easily I could build a GUI app.

My main product also uses egui: https://github.com/brainless/nocodo. It used to have a web app frontend and I moved to desktop app after the experiment with Indistocks. The experience has been really good, also coded with agents.

Desktop apps are fun and even on my somewhat old and slow laptop (i5 8th gen, 16 GB RAM, 2GB nvidia dedicated graphics), they are so much faster than web apps on Chrome (on Linux). I want desktop apps to make a big comeback, we could use so many old devices.

SilverSlash - 3 hours ago

I was expecting something ugly but these actually look beautiful!

h4x0rr - 2 hours ago

Hola, finally a good rust ui framework that's not dependent on web

artursapek - an hour ago

It seems like trading applications tend to be what demands the performance to push R&D like this for Rust GUI. My team at Kraken worked on https://iced.rs/ which powers https://www.kraken.com/desktop, a very similar application. You can definitely feel the difference in a Rust GUI vs. a web view. It can maintain high frame rates doing so much on the screen at once.

patrick4urcloud - an hour ago

very nice ! what about tauri versus this compoments ?

UndyingHorse - 3 hours ago

Why is the average binary size 10MB? Does it embed ICU data?

rana762 - 3 hours ago

[dead]

serinaatna19 - an hour ago

[flagged]