Glad to see the update. Most people associate Qt with GUIs which is unfortunate.<p>I see that when people think of Qt, they think of WxWidgets, Cocoa or MFC as alternatives. No, I submit to you that Qt framework is a more elegant, easier to use alternative to Boost as well.<p>This is not to say that QtQuick or QtWidgets aren't solid. However, the success of these two modules ends up occluding the others which to me are the real gems from the QtFramework: QtCore and QtNetwork.<p>QtCore provides a solid event loop, the most easy to use implementation of the observer pattern via its signal-slot mechanism, robust threading utilities and a bunch of other utilities that make writing apps in C++ an absolute breeze.<p>QtNetwork for a series of networking utilities that are elegantly simple.<p>If I were to write a command line app or a database or server, I'd reach for Qt in a jiffy.<p>Qt is not just for GUIs!
I've coded desktop apps (mostly editors and tools for games) for 25 years across X (Motif toolkit), Amiga, TOS, DOS, MFC, Cocoa, Win32, WxWidgets, Fox Toolkit and Qt. Qt has by far been the best, most rewarding, most empowering experience. It's a great library.<p>Now Cocoa would win but I prefer C/C++ to Objective-C, it's close though.<p>Good work people.
I'm an indie dev and have been developing a cross-platform (Py)Qt app for the past 1.5 years (~2100 dev hrs) [0]. Given that Qt is cross-platform desktop development, it's very solid. But there are a lot of things one has to do that are not required for (say) web apps:<p>* Creating standalone executables / installers for the app itself is already not so easy (I use - and recommend - PyInstaller [1]).<p>* Code signing the executables so users don't get an ugly "this app is untrusted" warning is tedious for the three different platforms<p>* Auto-updating is a pain to implement as well. I'm using Google Omaha (same as Chrome) on Windows [2], Sparkle on Mac [3] and Debian packages / fpm on Linux [4]. In total, I probably spent two to three months just on auto-update functionality.<p>* You really can tell that Qt is "drawing pixels on screen". Sometimes you have to draw pixels / perform pixel calculations yourself. The built-in "CSS" engine QSS works to some extent, but often has unpredictable results and weird edge cases.<p>I considered Electron as well. But its startup performance is just prohibitive. I blogged about this (and which other technologies I considered) [5].<p>I've been wondering for a while whether I should not open source my solutions to all of the above problems, to save other people the months required getting everything to work. Would anybody be interested in that? It would be something like a PyQt alternative for Electron.<p>[edit] People are very interested so I'm starting a MailChimp list. If you want to know if/when I open source a solution then please subscribe at <a href="http://eepurl.com/ddgpnf" rel="nofollow">http://eepurl.com/ddgpnf</a>.<p>[0]: <a href="https://fman.io" rel="nofollow">https://fman.io</a><p>[1]: <a href="http://www.pyinstaller.org" rel="nofollow">http://www.pyinstaller.org</a><p>[2]: <a href="https://fman.io/blog/google-omaha-tutorial/" rel="nofollow">https://fman.io/blog/google-omaha-tutorial/</a><p>[3]: <a href="https://sparkle-project.org/" rel="nofollow">https://sparkle-project.org/</a><p>[4]: <a href="https://github.com/jordansissel/fpm" rel="nofollow">https://github.com/jordansissel/fpm</a><p>[5]: <a href="https://fman.io/blog/picking-technologies-for-a-desktop-app-in-2016/" rel="nofollow">https://fman.io/blog/picking-technologies-for-a-desktop-app-...</a>
As good as QT and KDE are, I cannot really explain the fact that the most popular Linux distributions seem to show preference for Gnome; is Gnome more stable? is the user experience provided by Gnome more "polished"? or, is it the K-isms that push them away? is Gnome less resource-hungry?
I enjoy using QML together with Python 3 for the logic, with the PyOtherSide plugin: <a href="https://thp.io/2011/pyotherside/" rel="nofollow">https://thp.io/2011/pyotherside/</a>
November 2017: <a href="https://news.ycombinator.com/item?id=15617359" rel="nofollow">https://news.ycombinator.com/item?id=15617359</a><p>>pknopf: <i>This reminds me of the project I am currently working on.<p>.NET/QML <a href="https://github.com/pauldotknopf/net-core-qml" rel="nofollow">https://github.com/pauldotknopf/net-core-qml</a><p>Not quite production yet, but it will be soon. I'd love to he[ar] some input. You can check the unit tests for how things are working currently.</i>
Haven't used QT in a long time.Have they done away the with ’moc' and code generation? I found it extremely annoying that while we were using QT we weren't actually using c++, but a strange, language that looked like c++, but was actually further processed by qt to generate the c++ code. Are they done with that shebang?
This is also an interesting project, if you want to use Qt with Rust:<p><a href="https://phabricator.kde.org/source/rust-qt-binding-generator/" rel="nofollow">https://phabricator.kde.org/source/rust-qt-binding-generator...</a>
BTW, if you like both QML and Common Lisp, and want to reach for android, there's news: EQL5-Android <a href="https://gitlab.com/eql/EQL5-Android" rel="nofollow">https://gitlab.com/eql/EQL5-Android</a>
Andy Brice has two successful desktop app products, Perfect Table Plan and HyperPlan [1], and both are written using C++ and Qt, IIRC; I read that on his blog [2], which I have been following for some time now. Lots of good info about product development and marketing there.<p>[1] At least, Perfect Table Plan is quite successful, he has been selling it for a long time now. HyperPlan is newer, but IIRC he had some sales for it too.<p>[2] <a href="https://successfulsoftware.net/" rel="nofollow">https://successfulsoftware.net/</a>