5 ms·
I've used Qt many years ago (2007) and I liked the experience, but I had to move away from it because our company decided to go native on all fronts.. For inte
by justsaysmthng 11y ago
I've used Qt many years ago (2007) and I liked the experience, but I had to move away from it because our company decided to go native on all fronts..
For internal tools/prototypes I was using JUCE for my UI needs, which is much smaller in scale that Qt, but it produced very slim executables, was fast and good enough for my needs (plus I loved the API). I still think this a great framework for small UIs and tools, especially if you're working with sound.
Then I took a two years break from C++, moving to full time Objective-C, then Swift 1 and 2, working with and actually enjoying the power of UIKit.. I've developed several UI-heavy apps for iOS and some OSX stuff.
This year I came back to C++ and coincidentally, Qt.
What a nice come back this is. I'm thoroughly enjoying Qt (I'm currently using 5.4).
The development is smooth and intuitive, I don't have to spend hours reading documentation and articles, it kind of just flows by itself (not so at all with UIKit )
After trying out many frameworks and kits, If I had to pronounce a verdict for the best cross platform UI framework - then Qt has no competition, both in terms of features and in terms of pleasure.
I hope I can say the same about 5.6, will definitely try it out.
Edit: let me know if you need a Qt dev, as my current project is closing to an end and I would love to continue using Qt . (message codershaman on reddit).
- Cyph0n 11y agoJUCE seems interesting. What kind of difference in executable size are we talking about, approximately?
- FigBug 11y agoPretty big. If you want to use LGPL Qt you need to dynamically link, so deploying will get you around 20 MB of libraries. You can do a command line JUCE app in a few hundred KB, or a GUI app in not much more.
- tosseraccount 11y agoIs the support for static linking good in JUCE, such that you can release non trivial programs in a single binary with reliance only on system libraries that are pretty much guaranteed to be there.
- dspig 11y agoYes. I only use JUCE on OS X and Windows, but it's all statically linked and looks like it should be on other platforms. On windows you can change the linker settings from /MD to /MT so you aren't even depending on the MSVC redistributables that a completely bare system might not have.
- tosseraccount 11y agoGreat! It's nice to be able to easily build and distribute a single executable. Many users are barred from installing software; but can grab single file and run it.
- FigBug 11y agoJUCE used to have a feature where the entire library was distributed as one .cpp and one .h file. It made it very easy to distribute JUCE based source code. The make files were very simple. Unfortunately that is no longer supported.
- tomjen3 11y agoCan I use the new fancy compiler stuff like Lambdas with QT? Does it still require a meta compiler?
- simfoo 11y agoYes and yes
- justsaysmthng 11y agoYes, you can use C++ 11 features with Qt. In Qt 5.4 I had to add CONFIG += c++11 to the .pro file. I haven't used it, but it seems Qt 5.5 supports C++ 14.
- slavik81 11y agoYou could use C++14 with Qt4 if you wanted. Your choice of standard doesn't really affect Qt much.
- distances 11y agoLambdas can be used e.g. with the new signal-slot syntax [1]. And yes, Qt uses the meta compiler, and it's hopefully going to stay that way as moc has a clear positive impact both on features and speed [2]. [1] https://wiki.qt.io/New_Signal_Slot_Syntax https://wiki.qt.io/New_Signal_Slot_Syntax [2] https://woboq.com/blog/moc-myths.html https://woboq.com/blog/moc-myths.html
- rhodysurf 11y agoWow I had no idea you could put lambdas in place of slots!! Thanks!!
- sago 11y agoThanks for the tip on JUCE. I have an audio project I've been wanting to implement for a while, and procrastinating because of ugly audio APIs, JUCE looks just the ticket.
- paines 11y ago"...but I had to move away from it because our company decided to go native on all fronts.." Wouldn't that be reason to stick or turn to Qt in the first place? Or what am I missing ?
- wodenokoto 11y agoA lot of apps have this non-native QT feel to them. I would guess that's the reason
- justsaysmthng 11y agoAt that time, Qt was not available on mobile platforms and also the look and feel was very "foreign". Executable size was also a factor at the time I think. Plus probably some other (political) reasons which I don't know or remember too well..
- paines 11y ago"...but I had to move away from it because our company decided to go native on all fronts.." Wouldn't that be reason to stick or turn to Qt in the first place? Or what am I missing ?