Ответ 1
Некоторые плюсы Qt:
- С++-материал, как правило, будет работать лучше; однако это возможно.
- Qt является базой Meego, мобильной платформы, спонсируемой Intel, AMD и другими; однако его нынешний импульс кажется мне не слишком высоким. Это означает, что вы также можете создавать приложения для различных мобильных и вообще встроенных устройств.
- Существует много приложений на основе Qt.
- Он имеет конструктор WYSIWYG.
- Хорошо для небольших и крупных проектов, особенно из-за QtQuick, что позволяет создавать небольшие приложения в кратчайшие сроки и почти с нуля знанием о С++
- Qt имеет потрясающую оболочку в Python под названием PyQt (есть, конечно же, PySide), что позволяет быстро развиваться и создавать прототипы. Из-за этого люди часто используют PyQt (или PySide) для UI-стороны приложения Qt. Разумеется, вы легко можете комбинировать Python и Qt в одном приложении, используя все свои сильные стороны (но также и недостатки). Это позволяет относительно быстрые и плавные циклы разработки даже для крупных проектов.
Некоторые минусы Qt:
- В коде приложений на основе Qt используются некоторые элементы, которые не являются частью С++, которые должны быть преобразованы в С++ специальным препроцессором под названием moc (компилятор метаобъектов) до фактической компиляции. Вы и ваша система сборки должны учитывать это.
- Nokia (бывший владелец Qt, так как приобрел Trollech) имеет продал его в Digia. Однако это означает, что не подразумевает, что их участие в разработке Qt с открытым исходным кодом изменилось.
Некоторые плюсы Eclipse RCP:
-
Eclipse RCP - это гораздо больше, чем графический набор инструментов:
- Он поддерживает плагиновую архитектуру, которая может помочь распределить функциональность между различными компонентами (плагинами) и поддерживать контроль над зависимостями между такими компонентами (плагинами). Плагиновая система Eclipse опирается на собственную реализацию спецификации компонентов Java-компонента под названием OSGi.
- Он обеспечивает механизм для расширения развязанной расширяемости приложения, называемый точками расширения.
-
Есть много плагинов Eclipse, которые вы можете использовать в своем приложении, и многие из них имеют лицензии на распространение, которые являются дружественными к коммерческим продукты.
-
У него есть конструктор WYSIWYG.
Некоторые минусы Eclipse RCP:
-
Eclipse использует специальный инструментарий для окон, который называется SWT; на каждой платформе он опирается на собственный графический слой. В Linux он полагается на Gtk + (хотя это также возможно использовать Motif), что по моему опыту (и другие) имеет проблемы с производительностью, в основном с виджетами, которые обновляются с высокой скоростью. На самом деле многие из нас внедряют элементы Swing в приложения RCP Eclipse для решения проблем с производительностью при сохранении расширяемой архитектуры Eclipse; это, однако, может привести к проблемам интеграции . Там версия SWT, использующая Qt как бэкэнд, но ее включение в Eclipse codebase кажется заторможенным с октября 2010 года.
-
Время запуска (понимаемое как время, прошедшее с момента запуска приложения до появления окна) приложений Eclipse RCP может быть очень длинным.
-
Если вы намерены интегрировать материал С++ с Java с помощью JNI, имейте в виду, что некоторым людям это сложно.
-
В Eclipse много и много ошибок. Eclipse bugzilla - очень полезный ресурс для разработчика RCP.
-
Чем больше вы хотите, чтобы приложение Eclipse RCP выглядело, а поведение и поведение отличались от Eclipse IDE, тем больше проблем вы получите.
-
Развитие Eclipse RCP имеет, по моему мнению, большую кривую обучения.
-
Использование Eclipse RCP для небольших проектов в основном является самоубийством (если только вы не ограничиваете себя созданием плагина или подобного). Он предназначен для средних и крупных и очень крупных проектов из-за сложности его инфраструктуры, требований к ресурсам и вышеупомянутой кривой крутого обучения.
- Eclipse RCP не для мобильной разработки, потому что... это RCP (Rich Client Platform). Если вы хотите перейти на мобильный телефон, это не для вас.
Обе лицензии на распространение (LGPL/GPL/commercial для Qt, EPL для Eclipse) достаточно гибкие для большинства применений, на мой взгляд. Тем не менее, я не юрист, поэтому я могу ошибаться в этом.
И, конечно же, следует учитывать другие факторы, такие как опыт разработчиков, их технические навыки, размер команды, конкретные требования и т.д.
Кстати, у меня большой опыт работы в RCL Eclipse, но только теоретические знания по Qt, поэтому я могу быть предвзятым/ошибочным в своих заявлениях.