Каковы причины выбора платформы Eclipse Rich Client как базы моего приложения, а не просто использования SWT/JFace?
SWT/JFace или Eclipse RCP?
Ответ 1
Eclipse RCP - это не просто графический интерфейс (SWT/JFace), а платформа OSGi.
Итак, вы выбрали бы структуру RCP, чтобы:
- имеют лучшее определение ваших различных модулей.
- управлять жизненными циклами и версиями.
- изолировать проблемы загрузчика классов.
Если ваше приложение представляет собой только один монолитный шрифт GUI, RCP может немного переборщить.
Ответ 2
В дополнение к точкам, которые отметил VonC (преимущества платформы OSGi: модульность, изоляция классов, расширяемая архитектура), Eclipse RCP предоставляет множество сервисов уровня приложений, которые могут облегчить общее развитие вашего конечного продукта:
С Eclipse RCP вы получите:
- Готовый и расширяемый интерфейс приложений пользовательского интерфейса
- перспективы разделения отдельных областей приложения
- просмотры и редакторы для предоставления повторно используемых блоков пользовательского интерфейса с жизненным циклом своих собственных
- Команды абстракции с привязками клавиш, контекстные обработчики и привязки к панелям инструментов и меню
- Все лакомства всей экосистемы затмения
- p2 provisioning для управления установкой и автоматическими обновлениями вашего приложения.
- Схема обмена ECF
- Инструменты отчетности BIRT
- EMF и инструменты моделирования
- больше...
Конечно, последняя часть не обязательно означает, что вы должны использовать бегемот, который является платформой Eclipse RCP, чтобы получить преимущества, которые они предлагают.
В зависимости от области применения вашего приложения вы можете просто использовать Equinox в качестве основного контейнера OSGi и создать собственный клиент GUI.
Также имейте в виду, что Eclipse RCP не является единственной игрой в городе, когда принимается решение о создании GUI-фреймворков на территории SWT/JFace. Есть серьезные соперники, которые могут удовлетворить ваши потребности лучше:
- Проект платформы Riena цитирует их собственные слова "основа для создания многоуровневых корпоративных клиент-серверных приложений"
- Проект E4 Project - это работа над созданием следующего поколения платформы Eclipse RCP с гораздо более модульным дизайном.
Edit: Проект Eclipse e4 закончил работу только после того, как мой первоначальный ответ был опубликован, и теперь он стал полностью пригодной для использования богатой клиентской платформой/платформой клиента. Он созрел до такой степени, что теперь он используется в качестве базовой платформы для новейшей IDE Eclipse 4.2 (Indigo).
Ответ 3
Только мои 2 фунта стоит, но ванильный SWT/JFace может быть меньше кривой обучения. Мне нравится, что они просто простые графические интерфейсы, вам не нужно изучать "платформу" (как в RCP-режиме), просто добирайтесь до компонентов SWT и создавайте свой графический интерфейс! В целом, я считаю это более простым (но тогда я не очень много знаю о RCP!).
Ответ 4
Механизм инъекции зависимостей Eclipse 4 - отличный инструмент для выбора Eclipse RCP, и теперь с E4 платформа может быть очень легкой,
Добавьте к этому инструменты e4 с этим редактором модели, позвольте вам сэкономить много времени