Java vs С++ Qt: какой выбор для нежного развертывания?

Мне нужно немного мудрости из stackoverflow.

Я собираюсь разработать приложение GUI, которое будет обрабатывать XML-данные через формы. Я выбрал два варианта: Java (swing или swt) или Qt.

Я уже попробовал базовый учебник с Qt (Qt designer) и Java (Eclipse). И я должен признать, что оба будут отвечать моим потребностям.

Последний вопрос, который я должен решить, насколько болезненным будет развертывание?

Конечный пользователь нетехник, поэтому процесс установки и обновления должен быть легким.

Java имеет Java Web Start, с простым обновлением; Qt может быть более "упакован" без необходимости JVM.

Как вы думаете? Каковы плюсы и минусы?

Спасибо большое

+21
источник поделиться
4 ответа

Я сделал разработку с обеих технологий, и я должен сказать, что Qt - лучший выбор, на мой взгляд. Весь мой опыт с QT был приятным, я не могу сказать то же самое о том, что при использовании swing. Что касается развертывания, Java, вероятно, будет немного проще, но это не означает, что с QT будет сложно. Вам, вероятно, придется немного перекомпилировать и, возможно, портировать.

Swing - прекрасная структура. Не мой первый выбор, но он выполняет свою работу. Что мне нравится в QT, так это то, что вы получаете доступ к кучке библиотек, что делает разработку более быстрой и легкой. Если вы идете с QT, то "Пейте QT Kool-помощь", иначе это сделает разработку более жесткой. Это означает, что когда это возможно, используйте Q-версию поверх версии С++, потому что среда по своей сути "понимает" другие части фреймворка, например. QString, QVector, QObject.

На самом деле все зависит от того, насколько вам комфортно с каждым из языков. Если вы хотите, чтобы С++ пошел с QT, в противном случае используйте swing.

+16
источник

Pro-java: яркая среда, множество доступных библиотек.
Я помню цитату в строках

Если это можно сделать на компьютере, это было сделано дважды с помощью java

Con-Java: java gui никогда не впечатлили меня на рабочем столе.

Pro-Qt: время запуска приложения, должно быть быстрее, чем JVM

Синтаксис Con-Qt: С++, например. файлы заголовков



Изменить в пользу @ctd
Я предполагаю, что из акцентированного комментария ниже вы понимаете значение "яркого", но оспариваете значимость его использования в этом контексте. Если это предположение неверно, я призываю вас принять лингвистическое путешествие и настоятельно рекомендую участие в https://english.stackexchange.com/.

Если нет, то вот некоторые статистические данные собраны в течение часа:

    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

Заключение, с моей точки зрения, Java по-прежнему выглядит довольно... "ярким"?!?!?!

+9
источник

Вам нужно кроссплатформенное развертывание? Если это так, то Java может выглядеть более удобным, потому что вы можете запускать один и тот же байт-код на разных платформах. В случае Qt вам нужно будет перекомпилировать и, возможно, немного портировать его.

0
источник

Я пробовал оба языка. На мой взгляд, С++ может быть гораздо более болезненным (такие вещи, как указатели, утечки памяти и т.д.). Java - лучший способ для более быстрого развития. Также легко разработать кроссплатформенные программы с использованием Java.

0
источник

Посмотрите другие вопросы по меткам или Задайте вопрос