4 ms·
1. Qt is much faster than other UI technologies, but it’s far from being as performant as native solutions are. 2. You will need a big amount of hacks to make
by bsnal 4y ago
1. Qt is much faster than other UI technologies, but it’s far from being as performant as native solutions are.
2. You will need a big amount of hacks to make your project work on different platforms. Especially if you do something fancy.
Not to mention serious licencing issues.
- joezydeco 4y agoLicensing has gotten much worse, so much so that my current firm is sticking with our Qt5 contract and will not negotiate to Qt6. So we're hitting the end of the road with Qt in the next few years. On top of that, priorities are just different now. I spent an afternoon chasing down why QtCore has incomplete or missing methods for handling JSON documents (TLDR: "won't fix"), but I get a constant stream of marketing email promoting their new in-app advertising structure. And now there's a speech recognition engine? I'm just done with it all. Guess I need to learn React.
- bsnal 4y agoThis is my experience as well. Core bugs keep pilling up for years at an alarming rate while they focus on adding new functionality that most developers don’t need. Their bad licencing made sense back in the day. But they now face strong competition and instead of moving to a more open licence system, they seem to be doubling down. They don’t seem to understand that not only they aren’t the only framework in town anymore, they are currently worse than much better licenced systems.
- marcosdumay 4y agoFrom my point of view, there's a reasonable chance that the entire world sticks with LGPL Qt5.
- shrimp_emoji 4y agoCan you expand on this? >You will need a big amount of hacks to make your project work on different platforms. Especially if you do something fancy. Having done Windows-Linux Qt, I haven't noticed needing "hacks" (unless you count the hacks necessary to build anything on Windows at all cuz the OS wasn't meant for programming ;p). The fanciest thing I've done is theming (light, dark, etc.), which Qt doesn't seem to support natively, and which is difficult to do sanely without some "hacking". >Not to mention serious licencing issues. What issues? Is it just that it's LGPL, or what?
- bsnal 4y agoI said “if you do something fancy”. For example custom widgets with qpainter, etc Light/dark theming should be easy with stylesheets.
- dal 4y agoI think they have a very reasonable licensing model being GPL and Free Software.
- SemanticStrengh 4y ago> Qt is much faster than other UI technologies, but it’s far from being as performant as native solutions are. What does it feels like to spit random beliefs out of your hat and state them as truth? Native doesn't even mean anything, there really is something wrong going on on the mental models people have when talking about GUIs. IIRC QT use GDI+ on Windows for drawing 2D GUIs, which is mostly CPU based. And its shows in many tasks, see e.g. the strokePoly40 https://blend2d.com/performance.html https://blend2d.com/performance.html Chromium use Skia and gecko use webrender, those are much much much faster on average. In fact the web has more FPS than native libraries in general.
- bsnal 4y agoYou conveniently forget about the DOM, for example
- SemanticStrengh 4y agoI'm not seeing why the DOM would necessarily makes rendering slower. See e.g. this comparison showing react web being faster and more energy efficient than react-native. https://ionicframework.com/blog/ionic-vs-react-native-performance-comparison/ https://ionicframework.com/blog/ionic-vs-react-native-perfor... It's true that pathological DOM dynamism might incur some cache/layout invalidations, however if that were to be an issue (which is very rare and profiling is easy), you could mostly eliminate the problem with a few lines of https://developer.mozilla.org/en-US/docs/Web/CSS/contain https://developer.mozilla.org/en-US/docs/Web/CSS/contain
- dTal 4y ago> 1. Qt is much faster than other UI technologies, but it’s far from being as performant as native solutions are. As a Linux user, do tell me what the "native" solution is that I should be using! I love performance.