I need a bit of wisdom from the stackoverflow.
I'm going to developp a GUI application which will process xml data via forms. I have selected two options : Java (swing or swt) or Qt.
I've already try a basic tutorial with both Qt (Qt designer) and Java (Eclipse). And I must admit that both will fill my needs.
The last question I have to solve is how painful will be the deployment ?
The end user is a non-tech, so the installation and update process have to be easy.
Java has the Java Web Start, with easy updating; Qt may be more "packaged" without the JVM need.
What do you think ? What are the pros and cons ?
Thanks a lot
Qt has a broader approval, being mentioned in 17 company stacks & 51 developers stacks; compared to JavaFX, which is listed in 6 company stacks and 18 developer stacks.
Qt Jambi is a Java binding of the cross-platform application framework Qt. It enables Java developers to use Qt within Java programming language. In addition, Qt Jambi generator can be used to create Java bindings for other Qt libraries and future versions of Qt.
In Java applications, the components that comprise a GUI (Graphical User Interface) are stored in containers called forms. The Java language provides a set of user interface components from which GUI forms can be built.
C++ source code on compilation provides non-portable object code. So, C++ supports the WOCA (Write Once, Compile Anywhere) principle. Qt is a C++ toolkit for graphical user interface (GUI) and application development. It is appropriate for embedded systems both with and without a UI.
I have done development with both technologies, and I must say that Qt is the better choice in my opinion. All of my experiences with QT have been enjoyable, I can not say the same thing about when using swing. As far as deployment is concerned, Java will probably be a little easier, but thats not to say that it will be hard with QT. You will probably need to do some recompiling and possibly porting.
Swing is a fine framework. Not my first choice, but it does get the job done. What I like about QT is that you get access to a bunch of libraries that makes development quicker and easier. If you go with QT then "Drink the QT Kool-aid" or else it will make development tougher. This means where ever possible, use the Q version over the c++ version because the framework inherently "understands" other parts of the framework e.g. QString, QVector, QObject.
What it really comes down to is how comfortable you are with each of the languages. If you like c++ go with QT, otherwise use swing.
Pro-java : vibrant environment, lots of libraries available.
I remember a quote along the lines of
If it can be done on a computer its been done twice with java
Con-Java : java gui's have never really impressed me on the desktop.
Pro-Qt : Application startup time, is bound to be faster than the JVM
Con-Qt : C++ syntax, e.g. header files
Edit for the benefit of @ctd
I assume, from the punctuated comment below that you understand the meaning of "vibrant" but are disputing the relevance of its usage within this context.
If this assumption is incorrect then I encourage you to embrace a linguistic journey, and highly recommend participation at https://english.stackexchange.com/.
If not, then here are some stat's gathered within the hour:
project_tags_on_freshmeat.net question_tags_on_stackoverflow.com
c 9,747 36,492
java 6,017 141,062
c++ 5,487 79,104
php 4,936 129,235
python 3,830 66,318
javascript 1,464 113,521
ruby 577 26,877
c# 392 196,863
Conclusion, from my perspective java is still looking pretty ... "vibrant"?!?!?!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With