Oddbean new post about | logout
 I certainly don’t have any experience doing UI in Rust. Which kit will you use? I believe the clients I’ve seen in rust are using imgui which is immediate mode?

That’s also a newish paradigm for me (personally). I came up on WPF and Qt. I’ll be following your progress if you keep us up to date on how it’s going. 
 I'm still green enough that I am just getting to know the landscape, let alone actually choosing a UI kit. Got suggestions? 
 I don’t in Rustland. Both @jb55 and @Mike Dilger would be opinions I would trust and endorse sight unseen on it though, and they’re both working on guis in rust right now, so both current and actually have PoW. 

Imgui is the only one I’ve heard people I actually knew using. I’ve also checked out AreWeGuiYet? ( https://areweguiyet.com/ ) to see if Rust was viable for my job, and if you haven’t already, it might be a good resource. 

In C++, the choice is Qt if your project is of any size and cross platform. There is no other choice that comes close. That being said, I hate it with a passion as powerful as 10,000 suns. And I still use it. 
 😂 So what's the trouble with qt?

I'll have to see if either of them have suggestions.

Gentlemen, what's your favorite Rusty GUI? 
 I just realized that Gossip is written entirely in Rust! It's the only real client on Windows (never got nostrmo to work).

I might have to dabble and contribute! 
 Yes, come on over and work on gossip. We are going to be needing another developer soon.

We use an immediate gui called 'egui' which means it just re-runs our code every frame to again figure out what to draw that frame, which is straightforward but also we have to make sure not to run any time-consuming code on the UI thread.

If you start another project, don't use egui. Not that it is bad, but we have two egui projects already (gossip and notedeck) and zero projects in "normal" guis.  egui has some problems being that it draws at such a low-level, like no font hinting or subpixel antialiasing, no color emojis, and plagued with text layout problems, so you can't make a truly "beautiful" client in egui IMHO. 
 Gotcha. A step above needing to code your own font engine. That's pretty low level. It's probably great for data visualization or building a game engine, or at least something that changes frequently.