Qt 5.5 Released
New submitter mx+b writes: The latest version of Qt, the cross platform GUI toolkit and development platform, is out for all major platforms. Highlights include better 3D, multimedia, and web support, as well as better support for the latest OS X and Windows releases (including Windows 10) and more Linux distributions.
Using web technologies to embed rich content into your application is not unheard of. The Steam client comes to mind as an obvious example: most of their UI lives in a webkit container. We do it at the company I work for, because it allows us to release new client and server versions separately. (We have a good reason to do that, not going into details.)
The alternative is either to launch an external browser and display your application's content there, which is cumbersome and then you end up having to test your application with all the browsers in the world to make sure it's compatible. Yet another alternative is to use a non-webbased rich content widget; in this case you are likely to end up with something inferior AND with a smaller pool of experienced developers to hire from.
Web support in apps is for cows, you are all cows, moo?
QT is modular. This allows them to add features (you call it bloat, but I don't think it means what you think it means), and then it is up to application developers to pick and choose the modules that they want or need.
The demand for more features is omnipresent, and software developers can either choose to fulfil them one way or another, or lose their market share to someone else who does.
QT is a huge stinking pile of bloatware. I eschew it.
You are right, QuickTime is bloatware. However, Qt is well written and you are given the option to build only what you need and which libraries it should use. The render engine is exceptionally flexible too, allowing it to leverage many different methods of rendering. Don't have X? no problem, add a runtime argument (-platform linuxfb) and your qt program will display using the linux framebuffer. Qt also builds for desktops (e.g. Linux, Windows) and embedded systems (e.g. Android, iOS) and is easy to cross-compile for your device of choice.
if you think GTK+ is slimmer, guess again and check your binaries.
Anons need not reply. Questions end with a question mark.
One of these days I'll have to get "into" QT. It looks like a great successor to some of the concepts originating with Neuron Data's tools, which I spent a lot of years learning and working with. For now I've been focused on Java server code, but I've never really been a fan of Java for writing client applications, and I've no interest in buying an Android device just so I can stick with Java while working on front-end code.
No, to me, client side means an actual computer, not a mobile device. And QT hits almost as many platforms as Java does, so it would seem to be an excellent fit for my goals. :)
I do not fail; I succeed at finding out what does not work.
yawn... that is getting very old now, can't you think of anything original?
"The hands that help are better far than lips that pray." - Robert Ingersoll (1833-1899)
they all have their own versions..
"The hands that help are better far than lips that pray." - Robert Ingersoll (1833-1899)
" bloatware" is always used by people who don't know what they are talking about.
"The hands that help are better far than lips that pray." - Robert Ingersoll (1833-1899)
When I've read "web support" I though "Cool! I will finally get good support to run QT apps on a standard browser".
actually, you can do that
But alas, it just means running a Chromium engine embedded in a QT app.
no, it uses WebKit while Chromium uses Blink, a fork of WebKit.
Who wants to run web sites in an app nowadays instead of opening them directly in a browser?
well... if you wrote a web browser in qt you would. what about an RSS feed reader? it has it's uses but it's true it shouldn't be abused.
Anons need not reply. Questions end with a question mark.
"bloatware" is always said by people who don't know what they are talking about.
pff! that's a bunch of bloatware!
Anons need not reply. Questions end with a question mark.
Qt is not just a GUI toolkit. Doxygen has been using it for years. I do high performance computing and copy-on-write data structures (as Scott Myer suggest a decade ago in "More Effective C++") means I don't have to worry about functions returning references to a std::vector because QVector's copy constructor is O(1) as Scott Myers recommended a decade ago. I have a sane cross-platform cross-DB SQL interface. My strings are Unicode (and copy-on-write).
Qt allows you to write high performance code but in a style closer to Perl (especially with 11. "Auto" is "my") while enabling a coder to use high performance C code without needing to write fancy interfaces and compile schemes Everything from threading (QtConcurrent is great!) to file access to JSON to regex to is well-documented and the compile errors are sane (see: boost) and the code is terse (also: boost).
If you're doing serious C++ development with a small team, Qt is the best way to get things done in my experience...and it's also trivial to make a GUI to represent a SQL query.
-- Political fascism requires a Fuhrer.
QT is a huge stinking pile of bloatware. I eschew it.
You are right, QuickTime is bloatware. However, Qt is well written and you are given the option to build only what you need and which libraries it should use. The render engine is exceptionally flexible too, allowing it to leverage many different methods of rendering. Don't have X? no problem, add a runtime argument (-platform linuxfb) and your qt program will display using the linux framebuffer. Qt also builds for desktops (e.g. Linux, Windows) and embedded systems (e.g. Android, iOS) and is easy to cross-compile for your device of choice.
if you think GTK+ is slimmer, guess again and check your binaries.
I was bored at work and checked libqt5core and libqt5gui vs gdk/gtk. Those two qt5 components amount to ~10 MB vs ~5MB for gdk/gtk. QtQuick probably gets that well over 20MB.
But you're not going to use either on some Cortex-M MCU anyway, so who cares.
I found Wt really interesting, replacing desktop UI controls with their equivalent in HTML ones, passing the data back to the same c++ backend that the desktop would use. I'm sure it'd be a cool thing to replace your QApplication woth WApplication and have it turn into a html5 GUI, but what's the chance the GUI components supported would just be the most basic?
sure, but I thought gtk had a dependency on systemd nowadays so you have to count it's, and all its dependants' binary sizes too :-)
no, it uses WebKit while Chromium uses Blink, a fork of WebKit.
No, the new web module for Qt called QtWebEngine is based on Chromium, and yes, it is pretty much running a Chromium webview inside your application. It is the cost of having to have a standard web engine that works on all platforms, after Apple became too difficult to work with after Google left.
You can use the GPL/LGPL versions of Qt. Those options work well for a wide range of users (incl. some that sell proprietary software based on Qt).
If you need to have a commercial license for your proprietary software and can't affort 4,2k per year and developer, then you got more important problems than whether or not to use Qt;-)
How well does using Qt for iOS and Android development work? Last I checked, the documentation on how to effectively utilize Qt for this purpose wasn't nearly as informative as using it for it's more traditional use case. I would love to be able to do cross platform mobile development using C++.
Well, if you can't addor 4,2k per year and a developer it may mean you're an Indie trying to break even and launch something nice. What is good and all, no prejudice. But some resources that would help an indie developer, as the Qt module that allows in-app purchases, aren't available to low-income developers, despite being the people who would mostly benefit from it. That's why if I was Qt I would add a new payment regimen, similar to what's already done by Unreal Engine and Unity 3D: pay after you earn something. "Do you have an idea? Use Qt Commercial and pay us when you break even!". If the indie project doesn't take off no harm was done (as no money to be earned existed anyway). This way Qt would gain traction and be more popular than how much it already is. A model like this:
Indie: Pay 5% of your income after you earn $10,000.00
Commercial: Pay $whatever/year.
Open Source: Pay nothing but publish the source accorging to GPL/LGPL/whatever.
Hope some old troll will listen and act accordingly.
QT Mobile was a total farce and joke.
We dumped it after attempting to do a project on it. TOTAL FAILURE.
NEVER AGAIN will we believe cross platform claims. Total hype, lack of features, total fail.
Indie: Just use the LGPL version of Qt and pay nothing. At least not until you break even.
Do you develop mobile apps with in-app purchases using the LGPL version? AFAICT the in-app purchase module is not distributed with the LGPL version. I'd love to be proven wrong.