Java vs C++ Qt : what choice for a gentle deployment?
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
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 eg 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, eg 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"?!?!?!
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.
链接地址: http://www.djcxy.com/p/19902.html上一篇: String文字的垃圾回收