25

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

Andrew White
  • 52,720
  • 19
  • 113
  • 137
user777466
  • 991
  • 2
  • 13
  • 21
  • 7
    @Hovercraft, a more appropriate website would be http://programmers.stackexchange.com/. I think programmersexchange covers something else. :) – Andy Thomas Jul 19 '11 at 17:29
  • I have used both of them, in the most circumstance the performance of Java was better than Qt, till now 2017, Java is the best choice. And also Swing is has a powerful UI flexibility than the Qt. – Bahramdun Adil Jun 09 '17 at 03:45

3 Answers3

26

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.

kmdent
  • 1,577
  • 16
  • 32
12

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

Community
  • 1
  • 1
crowne
  • 8,456
  • 3
  • 35
  • 50
  • You should integrate c and c++ counts. also there is a large number of Lilliputian programmers which are not actual programmer. guess what language they plays with... this makes many impurity in statistics always. neither ruby, c or c++ – S.M.Mousavi Jul 29 '21 at 04:51
0

Are you need crossplatform deployment? If so Java may looks more convenient because you can run the same bytecode on various platforms. In case Qt you will need to recompile and maybe little porting it.

triclosan
  • 5,578
  • 6
  • 26
  • 50