По сути, когда вы используете Swing, вы должны настроить все вручную: вы определяете окно, каждую область и элемент управления, внутри которого вы снова определяете каждый элемент управления. Для каждого элемента управления и области вы определяете обработчики, чтобы иметь дело с изменениями и действиями пользователя и т. Д. Вы должны сделать это, потому что ничего не будет работать, если вы явно не определите и не реализуете это.
RCP также допускает это, но поставляется с набором компонентов более высокого уровня, которые делают много общего. Например, это всего лишь пара шагов настройки для определения интерфейса с несколькими документами (MDI) или добавления панелей инструментов со значками, которые запускают внешние плагины при нажатии на них.
Поскольку RCP является основой Eclipse, основные блоки, как правило, ориентированы на приложения, потребности которых аналогичны среде разработки: расширенное редактирование текста во всех видах окон, использование всевозможных контекстно-зависимых меню / панелей инструментов / операций / и т. Д.
Поэтому, если вы хотите создать небольшое специальное приложение с множеством нестандартных элементов (например, роскошный клиент Twitter, который имеет все виды пользовательских элементов управления или элементов управления с поддержкой скинов), нет смысла использовать RCP. Фактически, это будет перетаскивать 5 + МБ плагинов в ваше приложение без какой-либо реальной выгоды.
Если вы хотите создать приложение, которое отображает веб-страницы, требует обширной справочной системы, автоматического обновления через Интернет и такого рода крупномасштабных функций настольных приложений, тогда RCP подойдет вам лучше всего.