Eclipse/RCP (SWT) против Qt Creator (Qt) в качестве основы для разработки плагинов?

Я знаю много хороших приложений (включая UG Team Center, IBM Lotus Expeditor и т.д.), разработанных над Eclipse (RCP Framework). В последнее время я нахожу приложение, разработанное над Qt Creator, использующее его плагиновую архитектуру (GCF, конструктор VTK и т.д.).

Я хочу знать плюсы и минусы Eclipse и Qt Creator как базовую структуру для разработки приложений по ней. Также, если кто-то может перечислить модули, которые поддерживают приложения в каждой из этих фреймворков. Какой из них вы рекомендуете для разработки кросс-платформенных приложений?

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

Ответ 1

Отказ от ответственности: я взламываю создателя

Я считаю, что оба создателя и Eclipse являются стабильными и довольно полнофункциональными IDE. Создатель сильно фокусируется на С++ и Quick (новая вещь bling в Qt land;-), в то время как Eclipse поддерживает целый ряд языков, причем поддержка Java действительно сияет. Это, конечно, также влияет на функциональность, которую может легко обеспечить ваш плагин.

Первым видимым отличием от разработчика плагина является, конечно же, язык программирования: Eclipse написан на Java, а создатель разработан с использованием С++ с Qt. В зависимости от вашего фона разработки, который может быть довольно значительным.

Оба обеспечивают достойную систему плагинов со всеми функциями мэра, такими как обработка зависимостей между плагинами, управление версиями и т.д. Я полагаю, что система плагинов Eclipse немного более "ожесточена", так как у них есть еще несколько Сторонних плагинов, которые постоянно "тестируют" его. В обоих проектах есть несколько API-интерфейсов, которые все еще развиваются (по моему мнению, это меньше проблема с eclipse в это время), поэтому стоит проверить дорожные карты.

Eclipse имеет больше доступных плагинов, и это может быть преимуществом, если ваш плагин может воспользоваться функциональностью, уже реализованной в других плагинах. Графическое моделирование и т.д. У создателя еще нет плагинов, но есть много открытых открытых исходных кодов на основе Qt, которые должны быть прямыми для добавления в плагины (если это разрешает лицензирование!).

Оба проекта имеют открытый исходный код, поэтому вы можете просмотреть код. Лицензия отличается от Qt Creator и Eclipse. Лучше попросите адвоката прочитать их, если вы планируете использовать собственный плагин для любого из них... но это только стандартный совет: -)

Оба проекта приветствуют сообщества пользователей, которые готовы помочь, когда застряли, и оба проекта согласятся с взносами кода (в случае, если вы не хотите постоянно обновлять свой код самостоятельно; -).

Вот о чем я могу думать в верхней части моей головы...

Ответ 2

Изначально я был большим поклонником QtCreator. Затем я обнаружил, что это позволяет мне уйти со многими программными вещами, которых я не должен был. Я не могу вспомнить ни с одной точки, но когда я портировал Mac OSX, я решил построить его в XCode, а не в QtCreator. После моей сборки я обнаружил массу ошибок, которые я никогда не видел.

... И я знал это как нормально функционирующий код...

В любом случае, я все еще много работаю в Qt и полностью наслаждаюсь этим, но я развиваюсь в Visual Studio, XCode и GCC на своих соответствующих платформах. Извините, что я не помню никаких примеров, я столкнулся с этой проблемой 6 месяцев назад.

Ответ 3

Eclipse - это более основанная на Java, Qt - С++ и некоторые полезные дополнения (сигналы + слоты среди других). Я никогда не слышал о Eclipse как о структуре, но это, конечно, не говорит за или против него. Я расскажу о Qt здесь:

Я считаю, что Qt является базовым, потому что он (его разработчики) имеет многолетний опыт, обеспечивающий хорошую кросс-платформенную платформу с почти всем, что вам когда-либо понадобится. У этого есть сеть, файловая система, gui, алгоритмы, контейнеры, инструменты перевода, дизайнер UI, ОЧЕНЬ хорошая документация и солидное сообщество. Он основан на С++, что делает взаимодействие с практически любой C или С++ библиотекой "ветерок". Qt, безусловно, является более зрелым игроком здесь.

Ответ 4

Примечание. Я разрабатываю оба варианта, я делюсь своим опытом на Java-блоге, Qt и Форум Nokia. Я также форум Nokia Champion.

Простой ответ Eclipse RCP.

I blogged о межплатформенных платформах рабочего стола где-то здесь, включая Eclipse RCP vs Qt Creator и другие фреймворки.

Eclipse RCP предназначен не только для сложных приложений. Разработка с Eclipse RCP очень проста в запуске. Получите хорошую книгу для Eclipse RCP, я рекомендую этот вариант. И у вас практически нет барьеров на платформе. Это хорошо для долгосрочного развития. В моем личном опыте удобство обслуживания для приложений Eclipse RCP (и хорошо разработанных приложений Java в этом отношении) намного лучше, чем приложение Qt.

"Расширение" для Eclipse RCP, которое я предлагаю, EMF. Хотя EMF очень сложный, самый простой путь - использовать его для разработки метамоделей и генерации Java-классов. Вы также сможете легко редактировать свои объекты в интерфейсе RCP (в мире веб-приложений, часть "CRUD" ). Здесь хорошая практическая книга по ЭМП.

Eclipse экосистема очень широка, и это может быть запутанным сначала, но фокус в том, чтобы сосредоточиться на задаче. После того, как вы уверены в базовом материале (что относительно просто, вы можете запустить свой первый приветственный плагин/приложение RCP, просто запустив мастер или следуя предоставленному учебнику), множество инструментов и опций в сообществе Eclipse - это просто здорово. (большинство проектов Eclipse являются зрелыми/стабильными, некоторые из них требуют терпения или даже вклада, но что красота сообщества с открытым исходным кодом)

Обратите внимание, что мне нечего сказать о Qt. Qt - это отличная структура, с Qt Quick и QML и мобильная поддержка. И это лучше всего использовать, если вы в этих целях. Если вы действительно не нуждаетесь в Qt, Eclipse RCP должен сделать вашу жизнь проще.