PDA

View Full Version : Using Qt 4 For Mission Critical Project



ball
10th March 2006, 05:34
brothers, i would like to ask, can Qt be used in mission critical project?

please share with me your experience for using Qt's Database/Networking/Multi-threading classes for making non-GUI based, heavy weight and fast server application, thanks.

zlatko
10th March 2006, 08:18
Yes of course!
But previos you must read documentation from QAssistant ;)

ball
10th March 2006, 10:03
thanks brother, but would you also share more on your past experience for those mission critical project, such as the project detail, problem that you face, and your feeling to the Qt classes that help you on this project, etc

wysota
10th March 2006, 10:13
If I might add some comments of my own... Qt is nice, as it eases many things, but on the other hand it is not perfect for every solution. If I would be writing a time critical application, I'd probably try to avoid using it, because it is still an additional layer over native APIs. For example it lacks ability to perform a file copy without copying data between kernel and user space, so you'll never write the fastest possible web server using it. On the other hand it has many useful features, like event queue, timers and of course portability. If you need one of those, Qt is the way to go. If you are lazy enough not to play with low level calls, Qt is the way to go too ;)

Jojo
10th March 2006, 11:51
Hello man,

if you really don't need the GUI part of Qt I wouldn't bother using it. Not because it's bad, or because features are lacking (the opposite is the case), but just because of the overhead mentioned before. You also have to pay for Qt if you use it in commercial applications.
A valuable substitute would be Boost and maybe libsig++ if you need signals.

KjellKod
10th March 2006, 17:28
I think in developing time with the Qt API it could definitely help. If you are after something that is super efficient - then maybe c is better :(

In regard to the previous comment (above this one). At my company I think actually that only a fraction of the Qt is used for GUI works - the API is very intuitive and easy to work with so we simply use Qt a lot all over...

ball
10th March 2006, 17:47
yes, i understand that there will be a performance penalty when using Qt coz it is a layer over standard c++

actually what i want to focus is to compare with java, to write a time mission critical server software, since java is run over a JVM, and provide with database/networking/multi-threading class also

which is better?
c++ with Qt layer, or
java over JVM

in view of performance, stabiliy, personally i think both Qt and Java are quite easy for coding and cross-platform capability, let's share

GreyGeek
10th March 2006, 19:45
yes, i understand that there will be a performance penalty when using Qt coz it is a layer over standard c++

actually what i want to focus is to compare with java, to write a time mission critical server software, since java is run over a JVM, and provide with database/networking/multi-threading class also

which is better?
c++ with Qt layer, or
java over JVM

in view of performance, stabiliy, personally i think both Qt and Java are quite easy for coding and cross-platform capability, let's share

From my personal experience C++/Qt blows the rest away. And yes, Qt is ready for production because we are using our first Qt app (Homestead) in production now, and I am beginning work on the second one (Timerecords); We are using Qt to move our in-house applications away from dependency on a single platform and onto an API which will be available either commercially (we have a commercial license) or as Open Source, in case the Trolltech goes away. Our previous in-house tool was Visual FoxPro 6. Procedures which took up to 5 hours in VFP are done in under 3 minutes with C++/Qt/Oracle. I am able to do things I wouldn't dream of under VFP because C++/Qt/Oracle is so much faster and more powerful and flexible.

I can take the same source code, thanks to predefines, and run it against PostgreSQL 8.1 on either Windows or Linux and achieve approximately the same speed as with Oracle. But, we already use Oracle for a 6 Tb datawarehouse database so using it as the db for smaller apps too is a no brainer, although I'd love to switch to the PostgreSQL back end for both Homestead and Timerecords.

After Timerecords is the Gaming application. The VFP6 app consists of about 25 exe's, 250 tables and almost 1,000 different reports. I'll be working to convert that little puppy when retirement comes around.

Ben.Hines
10th March 2006, 20:41
Yes. Qt can be used for mission critical apps. However, Qt is mainly helpful for GUI work. I'm working on a mission critical app that uses Qt for the GUI on a Windows workstation, but delegates critical processing to another computer running a real-time OS with no GUI.