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

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

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

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

Ответы [ 4 ]

3 голосов
/ 14 июля 2010

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

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

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

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

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

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

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

Это то, о чем я могу думать наверху моей головы ...

1 голос
/ 19 июня 2010

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

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

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

0 голосов
/ 12 декабря 2010

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

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

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

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

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

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

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

0 голосов
/ 19 июня 2010

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

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

...