Let’s hope we see a new wave of desktop apps rewritten natively, thanks to LLMs. Whether they use Rust with GPUI, C++ with Dear ImGui, or something else entirely, that would be great. Personally, I’m so fed up with bloated UIs. Windows is full of them, and it’s a pity considering how powerful our CPUs are.

> C++ with Dear ImGui

it would be absolutely awful

compared to chromium, it's really limited, like it's just always a compromise with these

we should instead figure out a way to do electron but better and make it easier to do the things you can do with e.g. React with native languages and frameworks

The limitations are a large reason for why they're so resource efficient in the first place.

If you just reimplement Electron in a native language then you get... Chrome, which is already written in C++. The majority of RAM usage in Electron applications is from the native parts of Chrome itself and a decent ~40 MiB chunk for the Node.js runtime.

That’s what we’re trying to do with Slint (I work on it): a declarative, reactive UI like React, with the logic in Rust, C++, JS or Python. It needs no browser engine, so it uses a fraction of Electron’s memory.

QtQuick is quite good.

I have had excellent results running a back-end Rust process that communicates with a C# Avalonia front-end via protobufs over named pipes on Windows and Domain Sockets on Linux and MacOS. With C# AOT I’ve been able to create self-contained apps that run incredibly fast despite the ipc between the front end and the rust core. I’m getting full 6 platform coverage too (Win/Linux/macOS on both x64 and arm64).

edit: Avalonia is quite mature, with accessibility to boot.

Are you a web dev?

I use ImGui regularly, if you believe that it is on the same level as what you can do with React/HTML/CSS/etc. then I don't know what to tell you

I have seen this assumption in recent GUI threads here (More so your upper post): Building a PC application is not equivalent to building a web browser. A web browser is a type of PC application built for a specific (But very broad!) use. I didn't think I would need to write this statement/distinction, but I have here. Web languages, culture, and syntax have not been a value add to PC application development. Electron is the clearest example why. My model is that is the value add of Electron: Appealing to web devs through language and culture.

Regarding "not doing what you can do with HTML/CSS/JS". Doubt. I varied and complex stuff and have never felt I needed to overload document rendering langs for this.

I will go a step further: I don't think Electron is a symptom of HTML/CSS/JS: I suspect it's more from the Node + Framework culture.

it's not just about "appealing to web devs"

you simply just would stumble if you tried to do development like you can in React, constant "uhh... can't do that." while it just works in React.

I don't think anyone likes the look of Qt more than what you can achieve with webapps in terms of UI (style/etc. wise)

problem is the performance, I don't think many would be complaining if the performance was proper and the memory usage wasn't as terrible as it is now

you're talking about web browsers, I don't care what it runs on, if we have a way to run this in a lightweight way, would your complaints go away?

even Gnome uses JS etc.

you can do complex stuff in native UI, of course you can

what I'm talking about is the same kind of DX as with React. I really don't have faith in that, e.g. the new thing Discord is about to use, the css it tries to imitate just seems absolutely terrible.

the web technologies aren't perfect, in fact, far from it. however, when I see React vs whatever C/C++ alternative, I'd always go for React if it's about making the UI nice.

I've also shat on Electron before, but there's a reason as to why it's so popular. the tooling/UI capabilities are just much more powerful.

or Rust with things other than GPUI

Crux, lets you use native UI but Rust for business layer: https://github.com/redbadger/crux