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

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

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

огромное спасибо.


person Sulla    schedule 18.06.2010    source источник


Ответы (4)


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

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

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

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

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

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

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

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

person Tobias Hunger    schedule 14.07.2010

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

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

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

person Brett    schedule 18.06.2010
comment
Это не имеет а) никакого отношения к Qt (Creator) и б) никакого отношения (Qt против Eclipse). Вероятно, ваша проблема заключалась в том, что MSVC vs gcc производили разные ошибки в нестандартном коде, который вы написали. Разные компиляторы выдают разные ошибки. IDE или фреймворк практически не имеют к этому никакого отношения. - person rubenvb; 19.06.2010
comment
Думаю, тогда я был очень недоволен компилятором, который использовал QtCreator. Раньше я занимался разработкой в ​​MSVC и GCC, поэтому подумал, что пишу стандартный код. Было немного неприятно, что компилятор позволил этому случиться, хотя я не сталкивался с подобными проблемами при переходе между MSVC и GCC. - person Brett; 19.06.2010
comment
@Brett: это, конечно, мог быть старый 3.4.5 MinGW GCC (который также может объяснить ошибки переключения), тогда я отозваю (некоторые) свои комментарии :). Вы можете использовать любой компилятор / инструментальную цепочку с Qt, просто нужно немного настроить, вот и все. - person rubenvb; 19.06.2010
comment
@rubenvb: Хммм, наверное, тогда мне придется вернуться к этому вопросу. Я был очень доволен QtCreator из-за того, как хорошо он работал с Qt, но эти проблемы меня действительно сбили с толку. Спасибо за ввод, но я оставлю заявление об отказе от ответственности за компилятор QtCreator и попытаюсь использовать что-то более современное! - person Brett; 19.06.2010
comment
@Brett: Я согласен с rubenvb. вы можете использовать любой компилятор, создать систему с помощью Qt Creator. Также ваша ошибка, похоже, не имеет отношения к Qt Creator как фреймворку. Я использую последнюю версию Qt Creator (Qt creator 2.0, релиз-кандидат). Это слишком хорошо как IDE. Мне интересно узнать о преимуществах фреймворка. @rubenvb: Я считаю, что команда Eclipse слишком опытна, чем команда разработчиков Qt. Eclipse / RCP также может поддержать более широкое сообщество. Так что я не согласен с вашей точкой зрения. - person Sulla; 19.06.2010
comment
Я говорил о Qt как о программном фреймворке, а не как о IDE / плагине. И никто не мешает вам написать Qt в Eclipse;) - person rubenvb; 19.06.2010
comment
@Brett: последние выпуски включают GCC 4.4, так что я считаю, что это больше не проблема - person rubenvb; 19.06.2010
comment
@rubenvb большое спасибо за информацию, я с нетерпением жду возможности дать ей еще один шанс! - person Brett; 19.06.2010

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

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

person rubenvb    schedule 18.06.2010
comment
Я никогда не использовал Qt, но я считаю безответственно утверждать, что он более зрелый, чем eclipse, не зная, что такое затмение. По сути, в eclipse есть все, что вы упомянули, за исключением бесплатного дизайнера пользовательского интерфейса (есть коммерческие версии). Я работаю с eclipse уже 3 года и особых претензий не имею. - person drstupid; 24.06.2010
comment
Попытаюсь уточнить: я говорю о зрелости в смысле многолетнего опыта и существования. Eclipse существует с 2005 года (первый выпуск: декабрь 2005 года, я даже не уверен в RCP). Qt существует с 1991 года. Я уверен, что Eclipse одинаково хорош, но, как вы говорите, я не могу этого знать. Я также не говорю о Eclipse IDE vs QtCreator, там у Eclipse больше опыта, QtCreator 1.0.0 был выпущен год назад. - person rubenvb; 24.06.2010

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

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

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

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

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

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

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

person Hendy Irawan    schedule 12.12.2010