Live data from Hacker News

Rust cross-platform GPUI components

github.com

81–90 of 225 posts

Re: Rust cross-platform GPUI components

#81
post #26

Earlier quoted context omitted.

Ahh, gotcha. Yeah "enterprise" to me meant: "I can write/maintain a UI rich/polished enough to pass as a 'shrink wrapped' app to my end users". Thanks for the reply.

FWIW that reply was from a different person :D In my case I did mean "I can write/maintain a UI rich/polished enough to pass as a 'shrink wrapped'"

> I did mean "I can write/maintain a UI rich/polished

FWIW, you wrote that you actually HAVE done so, not just that you think you could:

"but I've been able to build incredibly rich, enterprise-ready UI with Rust today."

Unless one has actually done so, and maintained/extended over a period of time, and not solo but with others, I don't know that one can be certain that a UI toolkit is good enough; certainly, it would be hard to know what surprising edges and ergonomics there are to consider in one's evaluation.

Re: Rust cross-platform GPUI components

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

  * Their license is dual license LGPL *and* commercial. 
  * Minimum binary size is definitely not 20MB but less. In general your apps distribution size depends on which features of the toolkit you're using. 
  * Comparing "Syntax Highlighting" makes no sense... QSyntaxHighligther is an interface by which you can add your own syntax highlighting to any QDocument. You're welcome to use reg exps, parsers (such as tree-sitter) or whatever you want there. 
  * QRichText supports markdown such as HTML.

Re: Rust cross-platform GPUI components

#83
post #38

Earlier quoted context omitted.

I used `iced` but admittedly I also used a lot of elbow grease. Custom Theme, custom widgets and lots of passion to get it to look Just Right.

Cool. Any publicly available source code? If not, any screenshots at least? I'm curious as what Iced is capable of (with extra widgets/themes/etc. like you mentioned).

look into Cosmic Desktop and SniffNet as examples, both use Iced and IME are very high quality

Re: Rust cross-platform GPUI components

#85
post #79

Earlier quoted context omitted.

May I ask what you mean by this? For all I know, Zed Industries Inc is incorporated in the US and funded by US venture capital. BTW, I am not associated with zed in any way.

Its a stupid joke. Americans say Z==Zee, rest of the Anglosphere says Z==Zed

Thanks for the explanation :)

Re: Rust cross-platform GPUI components

#86
post #79

Earlier quoted context omitted.

May I ask what you mean by this? For all I know, Zed Industries Inc is incorporated in the US and funded by US venture capital. BTW, I am not associated with zed in any way.

Its a stupid joke. Americans say Z==Zee, rest of the Anglosphere says Z==Zed

thanks for explaining, i was really lost on what this person meant by that

Re: Rust cross-platform GPUI components

#87
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…

They do, but you have to look into the right ones, from ex-Qt employees,

https://slint.dev/

You can make use of Figma integration for something similar to Qt Design Studio.

Too many folks nowadays don't seem to fully understand how powerful GUI designers for native code used to be.

You always get some arguments about pixel perfect positioning, completly ignoring the fact most of them had layout managers available, even VB pre-VB.NET (yes Windows Forms does support layout managers).

Re: Rust cross-platform GPUI components

#88
post #48

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.

macOS is the only OS you can write native applications for. On Linux there are with GTK and QT two different GUI frameworks that could be considered native on some distros. And on Windows there are so many different frameworks and approaches used by MS for the shell that even a Webview could be considered native

Win32 is the native way, MFC and Windows Forms build on top Win32, UWP is also native as thin layer above Win32 and COM (with some extras).

WPF is managed, only uses a bit of Win32 and DirectX 9, everything else is rendered by itself.

Re: Rust cross-platform GPUI components

#89

Earlier quoted context omitted.

Are GTK/Qt memory safe now?

No. What is the likelihood of an attack on a desktop program via memory unsafety?

>What is the likelihood of an attack on a desktop program via memory unsafety?

Low.

What's the likelihood of someone entering your house if it's unlocked?

Also low, and yet you lock it.

Re: Rust cross-platform GPUI components

#90

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.

Not really.

This UI toolkit is based on GPUI library build by Zed editor team, and while they improve accessibility over time (like, improving contrast and stuff), it's opaque to screen readers.

At the moment if you want to have good accessibility story you should probably look at Slint or Qt (via cxx-qt, for example). And since System 76 picked up Iced for their UI it should receive a11y-related updates, too.

Post reply on HN