5 ms·
Honestly I'd suggest they just use Qt then. Our company is writing a portable replacement to our Electron client right now. The electron option was absolute gar
by Subsentient 6y ago
Honestly I'd suggest they just use Qt then. Our company is writing a portable replacement to our Electron client right now. The electron option was absolute garbage, very limited, and caused us untold pain. We got tired of telling customers "we can't really do that". The Qt version is already working on Linux and Windows, and on whatever CPUs we compile it for. There's no excuse for Electron, because there are good, portable GUI frameworks and libraries to use instead. Hell, don't like Qt? Use GTK+! I use GTK+ for my own portable personal projects, I like the API better and it integrates better with XFCE.
- est31 6y agoQt is nice but costs money for developers of proprietary software. Electron has its own costs but most of them are externalized to the user. So it wins out.
- maple3142 6y agoI guess there will be people going to say that QT is LGPL, which allows people to use in proprietary applications. But I think there must be people who just want permissive alternative, and Electron is MIT, so it is indeed more viable (liceise wise).
- berkut 6y ago? It's LGPL, so as long as you link dynamically, it's fine for proprietary software to use it. A lot of commercial proprietary software in the VFX industry does this (Nuke, Katana, Mari, Maya, Houdini, etc).
- est31 6y agoIDK a lot of proprietary developers don't understand the LGPL and are scared by its copyleft. They like how simple the MIT license is. Also, apple's app store is famously LGPL-incompatible.
- heavyset_go 6y ago> Also, apple's app store is famously LGPL-incompatible. If you're shipping a proprietary application that links to LGPL libraries in accordance to the license, that's fine. It's GPL applications that the App Store bans.
- est31 6y agoNot a lawyer but LGPLv3 contains the anti tivoization rule, which might cause issues with the mandatory signing.
- billsix 6y agoIIRC, Qt has been licensed under the LGPL for many many years, so you can develop proprietary software that dynamically links to Qt no cost.
- Anon4Now 6y agoBecause then you have to use C++. That alone is a big turnoff to a lot of developers.
- scarygliders 6y agoNope, you can also use Python, like I do with my 3rd party Elite: Dangerous application: https://captainslog.scarygliders.net/captains-log-2/ https://captainslog.scarygliders.net/captains-log-2/ All written in Python, recently moved to Qt5 and PySide2, runs on Windows and when I figure out packaging for Linux (probably AppImage) will release it for Linux as well. I believe there are Qt bindings for other languages too. So you're not stuck with C++ :)
- Anon4Now 6y agoNice. I didn't know that there were bindings for other languages now.
- RMPR 6y agoI like that UI! Out of curiosity, do you use a kind of wysiwyg (a la qt designer) to make your interfaces, or do you write Python code directly? Coming from JavaFX using scenebuilder to design UIs, l tried Pyside2 some years ago, never managed to find a way to make it work with a wysiwyg the way I am used to with JavaFX. Writing and styling widgets by hand is painfully slow.
- scarygliders 6y agoThanks :) I use Qt Designer for the layout. I never could get the hang of the Horizontal & Vertical spacers or the Layout Managers in Qt, so it's a static layout. There are quite a few "pages" in the application which appear or disappear when required. Those are all QWidgets which have their own static layout. The doughnut chart showing materials available on a planet is a dynamically created web page shown via a QtWebView widget. There's an Overlay Widget which is basically a QWidget with transparency, with the main window being hidden then called up via a global hotkey - I use Python ctypes to enable the global hotkey, calling the Windows API to enable that functionality. And the underlying databases used are sqlite3 via SQLAlchemy. It all works very nicely.
- scarygliders 6y ago+1 for Qt. I dumped GTK a few years back due to - and I have no idea if the same thing happens today - weirdness with GTK themes not working between minor releases of it, and I vaguely remember there were other annoyances but by then I was impressed with Qt and the PySide (noe PySide2) bindings so stuck with it.