Ask HN: Which cross platform desktop GUI to use instead of Electron?

4 points by tones411 4 hours ago

Electron gets hate due to filesize and memory bloat. C++ gets hate for memory leaks. Rust with Tauri relies on a webview which could change versions underneath the app when the OS gets an update.

Which language and cross platform desktop GUI framework checks the boxes for being lightweight in terms of filesize and memory usage, has native controls, supports accessibility and uses retained mode rendering, and works the same ten years from now as the day it was installed?

If someone were to build an installable desktop app with buttons, checkboxes, inputs etc. (so not a video game) which language and GUI framework should they to use to please the memory and filesize conscious?

zenlot 2 hours ago

I always go for Qt for this(with C++ for bigger project and Python for lighter).

There's also Delphi, which ticks all the nice boxes for UI requirements. But licencing is tricky there, not everything is available in community edition and more difficult to find support / developers for the project. Having said that, it's still great.

Kotlin with compose multiplatform shaping up too, so something to test out if it matches your current requirements.

  • dotancohen an hour ago

    I came to mention this. I'm doing a Python/Qt project right now and I love it.

0xCE0 2 hours ago

The most obvious answer would be to use the OS's native UI widgets, e.g. in Windows maybe even Win32 widgets. With under 200 lines (!) of C/C++ code you get windows, buttons, text fields, lists, tables, whatever you need. The end result is an executable of size less than 8 kilobytes, and has been working last 20-30 years in the past, and most probably will work decades in the future.

Besides, there isn't really "cross-platform GUI", because not every platform has same kind of widgets and behaviors.

ofalkaed 3 hours ago

Tk using the themed ttk widgets might meet your needs, not sure about accessibility though. Wxwidgets is also an option but can get weird with the native controls, not sure about accessibility there either.

cx0der 2 hours ago

Java. JavaFX has native binding to the underlying platform.

kode95 an hour ago

Honestly, I don't get the Electron hate. The majority of developers here on HN probably use VS Code as their editor, and that editor was made with Electron. For a lot of companies who don't have a desktop app as their main product, it simply isn't feasibly to have a dedicated Windows developer, a Mac developer, and a Linux developer, when you can do everything with one codebase.

brazukadev an hour ago

PWAs! Just use the browser. The safest, fastest option