7 ms·
There 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 languag
by diskzero 5y ago
There 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, but a cross-platform GUI framework is also part of the library.
Blazor Desktop [3]
I have developed C# web applications using Blazor and WASM and moved them to the desktop easily. Using C# and the Dotnet ecosystem is really interesing and worth looking at.
Flutter for Desktop [4]
Still in beta, but has the support of Google, for better or worse.
JavaFX [5]
A Java cross-platform still under active development. I think it is pretty nice if you like Java.
Red [6]
Let's add an outsider just to keep things interesting!
This github site seems somewhat current about other Electron alternatives as well. [7]
Good luck! You will find there are lots of alternatives out there.
[1] https://www.qt.io/ https://www.qt.io/
[2] https://juce.com/ https://juce.com/
[3] https://visualstudiomagazine.com/articles/2021/02 https://visualstudiomagazine.com/articles/2021/02
/17/net-6-preview-1.aspx
[4] https://flutter.dev/desktop https://flutter.dev/desktop
[5] https://openjfx.io/ https://openjfx.io/
[6] https://www.red-lang.org/p/about.html https://www.red-lang.org/p/about.html
[7] https://github.com/sudhakar3697/electron-alternatives https://github.com/sudhakar3697/electron-alternatives
- mherrmann 5y agoIf you have access to Python 3.5 or 3.6, you can use my open source library https://build-system.fman.io https://build-system.fman.io to create a Python / Qt app with an installer for all the OSs in minutes. Python 3.7-3.9 is also supported, but only available commercially.
- Zelphyr 5y agoI am really looking forward to the day that I can build cross-platform GUI apps in Red. Based on Rebol, it is a beautiful yet powerful language. They are always looking for more contributors, if anyone is interested. Here's an example of what it could do on macOS four years ago: https://www.red-lang.org/2017/07/063-macos-gui-backend.html https://www.red-lang.org/2017/07/063-macos-gui-backend.html Edit to add: You can build cross-platform GUI apps in Red now but, while they're very close to the finish line, and making progress every day, there are still a few missing pieces yet to complete on the 1.0 roadmap.
- miovoid 5y agoVote for Flutter and QT
- waspight 5y agoWhy is flutter better than electron?
- babarganesh 5y agoIs there a good grid control (ie a data grid) for Blazor? A colleague reviewed the offering from Infragistics and it wasn't anywhere near their WPF data grid control.
- diskzero 5y agoThere are grid controls from the usual commercial vendors like Radzen and Telerik. I used them briefly during a free trial. It has a funny name, but MudBlazor [1] has been the MIT licensed library I have been using lately. I have been using their Table control, which may be what you are looking for in a data grid. [2] Check it out and see. [1] https://mudblazor.com/ https://mudblazor.com/ [2] https://mudblazor.com/components/table#api https://mudblazor.com/components/table#api
- irq-1 5y agoFrom https://juce.com/get-juce https://juce.com/get-juce "JUCE is dual licenced under both the JUCE licence and the GPLv3."
- diskzero 5y agoPricing isn't too bad if you don't want to go the GPL route. 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.
- emerged 5y agoFunny, I actually use JUCE for audio and yet it never crossed my mind to use it as a general purpose cross platform UI. Good call!