Вопрос

Каковы причины выбрать платформу Eclipse Rich Client в качестве основы моего приложения, вместо того, чтобы просто использовать SWT / JFace?

Это было полезно?

Решение

Eclipse RCP - это не просто графический интерфейс (SWT / JFace), но OSGi ( ОСГи )-основанная платформа.

Итак, вы бы выбрали фреймворк RCP для того, чтобы:

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

Если ваше приложение представляет собой всего лишь один монолитный графический интерфейс со шрифтовым завершением, RCP может быть немного излишним.

Другие советы

В дополнение к пунктам, которые ВонК указал на (Плюсы платформы OSGi:модульность, изоляция загрузчика классов, расширяемая архитектура), Eclipse RCP предоставляет множество сервисов прикладного уровня, которые могут облегчить общую разработку вашего конечного продукта:

С Eclipse RCP вы получите:

  • Готовый и расширяемый фреймворк пользовательского интерфейса приложения
    • перспективы для разделения отдельных областей применения
    • число просмотров и редакторы для предоставления повторно используемых блоков пользовательского интерфейса с собственным жизненным циклом
    • Команды абстракция с привязками клавиш, контекстными обработчиками и привязками к панелям инструментов и меню
  • Все преимущества всей экосистемы eclipse

Конечно, последняя часть не обязательно означает, что вы должны использовать платформу behemoth, которая является платформой Eclipse RCP, чтобы получить преимущества, которые они предлагают.

В зависимости от области применения вашего приложения, вам может быть полезно просто использовать Equinox в качестве базового контейнера OSGi и создать поверх него свой собственный клиент с графическим интерфейсом.

Также имейте в виду, что Eclipse RCP больше не единственная игра в городе, когда принимаете решение о графических фреймворках в SWT / JFace land.Есть серьезные претенденты, которые могли бы лучше удовлетворить ваши потребности:

  • Проект платформы Riena цитирует их собственные слова "основа для создания многоуровневых корпоративных клиент-серверных приложений"
  • Проект E4 проект находится в стадии разработки для создания следующего поколения платформы eclipse RCP с учетом гораздо более модульной конструкции.

Редактировать: Проект Eclipse e4 перестал быть просто незавершенным с тех пор, как был опубликован мой первоначальный ответ, и теперь стал полностью пригодной для использования собственной платформой rich client application framework / platform.Он созрел до такой степени, что в настоящее время используется в качестве базовой платформы для последней версии Eclipse 4.2 (Indigo) IDE.

Стоит всего 2 копейки, но ванильный SWT / JFace может быть менее трудоемким процессом обучения.Мне нравится тот факт, что это всего лишь простые графические интерфейсы, вам не нужно изучать "платформу" (как в случае с RCP), просто разберитесь с компонентами SWT и создайте свой графический интерфейс!В целом, я считаю, что это проще (но тогда я на самом деле мало что знаю о RCP!).

Механизм внедрения зависимостей Eclipse 4 является отличным преимуществом при выборе Eclipse RCP, и теперь с E4 платформа может быть очень легкой,

Добавьте к этому инструменты e4 с помощью it model editor, что позволит вам сэкономить много времени

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top