Remix.run Logo
jokethrowaway 5 hours ago

my 2 cents:

egui is the clear winner for making desktop applications. I've built a complex application recently (think of it like an AI powered image editor, doing plenty of editor logic and communicating with several python backends for the AI part) and it's been smooth sailing. It would be nice to have a family of components that look native on every platform but nowadays the desktop experience is anyway wildly inconsistent (and web-centric).

Using qt bindings is a good option too, but depending on non rust code means you are more likely to catch some weird crash. My experience with Qt in Rust is years old, so I can't comment on stability.

For frontend development, leptos is really nice and it feels familiar coming from react - but the whole chain is too heavy, your target directory quickly balloons to GBs and that's unacceptable, especially if you have several frontend projects.

I vibe coded a proof of concept leptos (including islands) with a minimal runtime and no dependencies and the size was much more contained. There is margin for improvements but today I would stick with solid.js for frontend development.

The other big hurdle for Rust on the web is the need to compile to wasm. That means that any Rust application will be heavier than a similar app in another JS framework. If we could target js instead of wasm, maybe we could have apps with small bundles.

Klonoar 4 hours ago | parent | next [-]

No immediate mode GUI framework can be considered a clear winner for desktop applications usage.

egui is, however, one of the most reliable paths in Rust today for building and shipping a desktop app.

ghosty141 5 hours ago | parent | prev | next [-]

> Using qt bindings is a good option too, but depending on non rust code means you are more likely to catch some weird crash. My experience with Qt in Rust is years old, so I can't comment on stability.

Qt QML is already annoying in C++ since you have to juggle 2 lifetime systems, c++ manual lifetime management and QMLs QML engine (aka gargabe collection).

nopurpose 5 hours ago | parent | prev | next [-]

Did immediate mode guis solve (in)accessibility problem they used to be really bad at?

IshKebab 3 hours ago | parent | prev [-]

> egui is the clear winner for making desktop applications

I disagree. It's the easiest to get started with, but it looks pretty terrible (poor font rendering especially), and immediate mode has serious downsides.

My current favourite is https://github.com/longbridge/gpui-component

bananaquant 3 hours ago | parent [-]

egui has recently revamped text rendering, looks much better than it did just a few months ago.