4 ms·
I've used Qt for developing a few desktop apps, a couple of mobile apps and while working on a few embedded systems. The good: 1. Their QWidgets library is ve
by saidinesh5 5y ago
I've used Qt for developing a few desktop apps, a couple of mobile apps and while working on a few embedded systems.
The good:
1. Their QWidgets library is very stable and mature for cross platform desktop applications and i can still recommend it very much. I don't think there's a good enough alternative to it tbh.
2. For embedded systems in certain sectors (automotive, house appliances etc..) their QtQuick (with QML) is almost like the defacto standard. It is kind of like flutter but with a much better GUI describing language and very nice integration with C++.
3. Their C++ libraries and tools are also kind of nice when developing non GUI applications (networking, cli tools etc..), but these days C++ ecosystem has much nicer alternatives. Qt Creator is still my fav. C++ IDE though.
The bad:
1. Using QtQuick for mobile application development is fine until it isn't. The ecosystem is a lot smaller than say flutter, react native etc... So you end up hand rolling various integrations yourself.
2. The licensing situation can be a bit of a headache when developing a commercial product. For eg. You cannot easily statically link your application with the open source offering, and you need to statically link when targeting iOS.
3. Licensing can be very expensive, even on embedded systems. LGPLv3 means you need to provide the end user a way to replace your Qt libraries and for many companies, that's a no go. So even today, i see a lot of companies still using the very old Qt 5.6 (when there was an LGPL v2 offering). If you're developing a desktop or Android application or an open source application, none of the licensing headaches should apply to you though.
4. With QtQuick, Qt Multimedia etc... things changed a lot during the last 5-6 years, so a lot of times the 3rd party libraries you find aren't that useful to you or are just half baked in the ecosystem.
I'd still use Qt for my personal projects, but with all the licensing headaches i see more and more companies trying other alternatives. If you want to try out, try out QML: https://doc.qt.io/qt-5/qmlfirststeps.html https://doc.qt.io/qt-5/qmlfirststeps.html
- joezydeco 5y agoQML has finally become useful and efficient enough that developing on it is...kind of fun, actually. Sadly, like you mention, the rest of the ecosystem is languishing and the company's attention is elsewhere. Licensing has become a major headache (not just cost but terms) and I've grown tired of spending weeks and months trying to get it through management and explained properly.
- Sakos 5y ago> LGPLv3 means you need to provide the end user a way to replace your Qt libraries and for many companies, that's a no go I assume you mean companies developing interfaces/applications for closed-down end-user systems like set-top boxes?
- saidinesh5 5y agoYep. It's a problem when building mobile applications too. Especially for iOS. Sailfish OS was stuck on Qt5.6 for a long time because of this.