Remix.run Logo
▲ r_lee 2 days ago

> 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

▲debazel 2 days ago | parent | next [-]

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.

▲hobo123 20 hours ago | parent [-]

Name one feature that is a reason for a GUI framework to require lots of resources.

To me it seems like all frameworks and apps use much more memory than 10 years ago, but don't really offer more features.

Maybe a really young GPUI still has limitations, but I doubt it would suddenly need to use 5x as much memory if you added them.

▲ogoffart 2 days ago | parent | prev | next [-]

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.

▲amelius 2 days ago | parent | prev | next [-]

QtQuick is quite good.

▲the__alchemist 2 days ago | parent | prev | next [-]

Are you a web dev?

▲r_lee 2 days ago | parent [-]

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

▲the__alchemist 2 days ago | parent | next [-]

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.

▲r_lee 2 days ago | parent [-]

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.

▲Telaneo 2 days ago | parent | next [-]

> 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)

I don't want web app UIs. They all look different for no good reason. I want native UIs. I like qt. Please just give me a stable UI that I learn and stick with for the next 20 years.

▲bigstrat2003 2 days ago | parent | prev [-]

> I don't think anyone likes the look of Qt more than what you can achieve with webapps in terms of UI

You are incorrect. In fact, us users hate that fact that UI designers keep making apps that look nothing like the rest of our system. Give me a nice native-looking app any day of the week.

▲baist0 a day ago | parent | prev [-]

Listen! The fact is, JavaScript/HTML/CSS are a holy cow, and the Web is a religion. And you will come up with any excuse just to protect your holy temple.

▲caspper69 2 days ago | parent | prev [-]

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.