Ask HN: What software do I use to create a commercial desktop GUI?

5 points by Tomminn ↗ HN
I come from an academic context and am deeply confused as to whether there is any free software available for making a GUI front-end to deliver my application. My desires are as follows:

1) I would rather work with something free. For the simple reason that I'd rather this little project didn't cost me hundreds/thousands of dollars per month up front. I just wanted to sell a little application for a few bucks for lolz.

2) I would rather work with something that doesn't force me to disclose all back-end code.

3) I would rather work with something fast/non-bloated, cross-platform (Windows and MacOS will do), and not obviously ugly to the average consumer (since I want them to buy it). In fact, prettiness is really quite high on my list of priorities because, well, why not?

I couldn't quite understand what exactly my obligations were when using, say, the open source license of QT. I'm happy for customers to see, say, the source code for my GUI logic. I'm not happy for them to see my back-end data logic.

Happy to learn Java or Python or C++ or whatever language is best suited to this task. Just don't want to accidentally get myself entangled with strange license obligations.

5 comments

[ 26.8 ms ] story [ 1078 ms ] thread
There is only one reasonable alternative: Free Pascal with Lazarus.
GTK+ is what I use on Linux.

Apparently it also works for Windows and MacOS, as well as for Linux.

I'm also happily using Gtk3 (more specifically Gtkmm with C++) here. Development and coding is working fine, shipping is hard.

Linux: Package Managment

Windows (MSYS2): Use ldd or ntlld and ship all libraries in the same directory, to save space you can ignore all icons and extra resources you don't use.

MacOS (Homebrew): Similiar to Windows but more complicated with linking and signing. You can either accept XCode or avoid it completely and use command line tools.

Qt (C++ + QML, python + QML or even C++ + QtWidgets) is well suited for desktop application development. You can easily stay with the open source licence of Qt. The Qt website is not really clear about this and they will push you to go for a commercial licence.

Electron (+ any web front-end UI framework, like React) will also do the job.

You can also check for Java Swing or Java Jetpack Compose.

Thank you so much, I thought Qt and Electron were the two front runners for this, but just wanted to check I wasn't missing something everyone knew about.