If Electron is evil, how exactly should one write a cross-platform GUI app in 2022?

I started with wxWidgets, since it's native (except when it isn't, like the aui stuff), cross-platform, and accessible.
I found no less than four different bugs on GTK, some of which had been unreported (I reported them).
I get it's a volunteer effort and I appreciate it, but now I'm seriously hesitant to commit to this framework.
Then there's Qt, which is 100% non-native, not accessible, and requires a license in perpetuity for the commercial version, and you have to decide at outset which version you're going to use (you can't develop using the LGPL version and deploy using commercial).
I can seriously see why people use Electron now.
I wish XULRunner was still a thing, and I could write most of my code in C++, wrap it in XPCOM components, and then tie it together using JS/XUL. Thanks Mozilla, for killing that off.

Attached: casey-muratori.jpg (314x314, 75.62K)

ImGui

Use C# and XAML, the only true cross platform programming lang.

what app should I make

Attached: 1643385633637.png (980x675, 61.96K)

>Then there's Qt, which is 100% non-native, not accessible, and requires a license in perpetuity for the commercial version, and you have to decide at outset which version you're going to use (you can't develop using the LGPL version and deploy using commercial).
Theoretically, the LGPL version does enough for what I need, but it's clear the Qt Company is circling the drain, and when it really starts dying, it will start aggressively auditing/suing its customers/users for potential or actual license violations.

Unironically Java was a solid option, back when it didn't look 20 years out of date.
I think there's ways to make it look modern, but even then, you're stuck with Java lol

You can use electron if you commit to do good code. Look at VSCode for example, on any computer I have used it is plain fast, I wouldn't have suspected it was built on JS/TS if you faggots weren't spamming about that fact all day and night

I just said this but a good alternative could be Flutter desktop, it's got Windows/MacOS/Ubuntu support and despite all the annoying bugs/missing functionality you could find if more people were using it they will eventually get fixed
Verification not required, again

Freepascal.

Attached: zxczxczcx.jpg (433x116, 7.22K)

>If Electron is evil, how exactly should one write a cross-platform GUI app in 2022?
Why would Electron be evil? One of best IDEs is written in it.

I guess Java could work too (but it looks very... industrial) or, if possible, just writing webapp instead.

Attached: vs-code.png (1024x1024, 112.24K)

fpbp
this works on qnx too btw, literally no excuse

common daemon + multiple frontends built with os-native toolkits is the only sane way

Stop using garbage ``cross-platform````````` libraries.
ui.h
ui_win32.c
ui_x11.c
ui_wayland.c
// etc

Just write the fucking implementation per platform as you need them, what's the fucking problem?

Install Windows

Attached: EGG.jpg (314x314, 101.89K)

You’re not supposed to. Develop for one platform, retard.

That's a good point.
He seems to develop exclusively for Windows.

>ImGui
Not accessible.
It's really starting to look like Electron is the best bet.

SDL

UXN, obviously

I think Qt is likely to give you the best results.
>requires a license in perpetuity for the commercial version
You can sell free software.

I'm gonna catch shit for this, but Godot genuinly just works.
It has a nice editor and is quite intuitive when it comes to creating GUIs.
There are some pain points sure (window resolution, GDScript vs. C#), but it makes things just very easy to do.
The whole editor, debugger, documentation, and build environment is a 35MB zip file.
Worst of all is that compared to other solutions it is relatively light on resources, which is just ridiculous.

"Cross-platform" software is pure cancer.

>think about if you really need cross platform or not
What is the point of porting to a platform that you never use personally? How are you going to offer a good experience on a platform you have absolutely no experience of using? For example, I have never used macos, how can I possibly release software on macos when I know nothing about the ecosystem or what the average macos user expects?
>if you decide that you REALLY need crossplatform
Do what transmission does and write a core application, then for each platform write a thin layer ontop using the native GUI for that platform.
It is not as much work as you think and the end result will be 20x better than any electron shit.
Even if you use something "cross platform" like electron or qt you are going to be spending hours resolving platform-specific bugs anyway, you might as well just make your GUI code platform specific instead of lying to yourself and pretending that pure cross-platform is even possible.

Attached: 1636374693600.png (1080x608, 879.44K)

Instead of writing software that works like shit on 20 different platforms, just make it work beautifully on a single one.

i've heard good things about lazarus and godot

wxWidgets + wxFormBuilder for building UIs
Super comfy setup IMO

>Why would electron be evil? The slowest text editor to have ever existed is written in it