Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java vs C++ Qt : what choice for a gentle deployment? [closed]

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

like image 628
user777466 Avatar asked Jul 19 '11 15:07

user777466


People also ask

Is JavaFX better than QT?

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.

Does QT work with Java?

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.

What is Java GUI programming?

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.

What is the difference between Qt and C++?

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.


2 Answers

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.

like image 52
kmdent Avatar answered Oct 18 '22 13:10

kmdent


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"?!?!?!

like image 12
crowne Avatar answered Oct 18 '22 12:10

crowne