It would be really nice if there was a shared widget API that would work for the major operating systems. If most of simple app could work on Windows, OSX, maybe mobile (Android / iOS) and Linux / BSD. Something that was mostly native for all of them. Currently the only alternative to Electron that is similar is a program that hosts a local webserver and the local browser is pointed at it, but that's a second class e…
Ask HN: How do you create a cross-platform GUI without using Electron?
81–90 of 112 posts
Re: Ask HN: How do you create a cross-platform GUI without using Electron?
#82This thread doesn't inspire confidence. It's mostly small and unproven projects, some maintained by hobbyists. I think the mess we're in with GUIs is because we've failed to find a way to convey at a very high level what the inputs and outputs of software are. In a utopian world, you'd define what you want the user to see and how the user can interact with the information. Something would then work out how to lay tha…
Re: Ask HN: How do you create a cross-platform GUI without using Electron?
#83There are several options, each with their own pros and cons. Qt [1] The main codebase is C++, but bindings are available for Python and several other languages. I have developed and shipped multiple cross-platorm applications using Qt, using both C++ and Python. Documentation and source code examples are readily available. JUCE [2] Another C++ framework, with Python bindings. The focus is on music and audio apps, bu…
From https://juce.com/get-juce "JUCE is dual licenced under both the JUCE licence and the GPLv3."
If your funding or revenue is $50k and under, there is no cost, but there is a "Made with JUCE" splash screen.
If your funding or revenue is $500k and under, $800 one time fee and there is no splash screen.
You can pay $2600 once with no revenue or funding limit and no splash screen.
Free for education.
Re: Ask HN: How do you create a cross-platform GUI without using Electron?
#84We write apps like this in Object Pascal using Lazarus. Think Delphi but open source. We have a suite of framework-specific developer apps for tasks like packaging deployments, managing common database tasks, onboarding new clients etc. They were written on Linux using Lazarus, then recompiled on MacOS and Windows as required. There are occasionally OS-specific variations for small pieces of these apps, but Object Pa…
Re: Ask HN: How do you create a cross-platform GUI without using Electron?
#85any good open source one?
godot: https://godotengine.org/ most of godot UI itself is made with godot engine
Re: Ask HN: How do you create a cross-platform GUI without using Electron?
#86Re: Ask HN: How do you create a cross-platform GUI without using Electron?
#87Java and Swing are still a great option.
Ugh, I'd rather have the electron app. I've never seen a Java application that didn't garishly stand out, the widgets do not act at all native, and it's inevitably sluggish. Although, the biggest offenders I've used are Eclipse and IntelliJ IDEA, both of which at least have some excuse. I hate using both, though, and VS Code, which I believe is Electron-based, does not feel sluggish the way the other two do.
Here is an example of an audio workstation software done in a mix of Java and C++,
https://www.bitwig.com/overview/
What most UI/UX projects don't need is programmer art.
Re: Ask HN: How do you create a cross-platform GUI without using Electron?
#88The .NET ecosystem is another solid choice for cross-platform desktop app development (and nowadays even mobile, too). Avalonia² in particular looks promising, and is probably what I'd try using first should I ever be tasked with developing a desktop app again.
EDIT: Also, since you mentioned it already for Linux, GTK works well enough on Windows and (IIRC) macOS, too.
----
Re: Ask HN: How do you create a cross-platform GUI without using Electron?
#89Re: Ask HN: How do you create a cross-platform GUI without using Electron?
#90Java and Swing are still a great option.
Ugh, I'd rather have the electron app. I've never seen a Java application that didn't garishly stand out, the widgets do not act at all native, and it's inevitably sluggish. Although, the biggest offenders I've used are Eclipse and IntelliJ IDEA, both of which at least have some excuse. I hate using both, though, and VS Code, which I believe is Electron-based, does not feel sluggish the way the other two do.