Приложение Eclipse RCP в jruby - PullRequest
       361

Приложение Eclipse RCP в jruby

2 голосов
/ 23 января 2012

Я пытаюсь написать приложение Eclipse rcp, используя только jruby или, по крайней мере, только с строго необходимым количеством java. Поскольку всего несколько строк чистого кода ruby ​​дадут вам базовое SWT-приложение, я надеялся, что написание rcp-приложения на jruby должно сводиться к реализации нескольких классов, таких как IApplication и т. Д. ... Отказ от ответственности: я имею работал с (j) ruby ​​в течение нескольких лет, но практически не имеет опыта работы с java или rcp.

То, что кажется жизнеспособным, - это придерживаться шаблона, сгенерированного Eclipse, и вызывать оттуда классы ruby. Однако: возможно ли использовать чистый рубин?

Кажется, есть какая-то магия, которая склеивает все классы rcp-приложения вместе. Большая часть этой магии, вероятно, находится в plugin.xml в корневом каталоге проекта rcp. Тем не менее, когда я смотрю на командную строку работающего приложения rcp, довольно много параметров инфраструктуры ...

Поиск по ключевым словам типа "eclipse, rcp, jruby" не дал мне результата, на который я надеялся. Существует один проект , который, по-видимому, движется в направлении вызова классов ruby ​​из скелета Java. Нет чистого рубина.

Цель: приложение, которое я ищу, будет обрабатывать временные ряды. Эта задача хорошо вписывается в IMHO в концепцию перспектив в приложении rcp:

  1. Выберите временной ряд,
  2. Построить модель,
  3. Анализировать результат.

Кроме того, обработка временных рядов удобна в рабочей среде: у вас может быть много открытых окон, сгруппировать их и т. Д. ...

Итак, я думаю, мой основной вопрос: есть ли у вас какие-либо указатели, как написать Rcl-приложение Eclipse на ruby? Но я также открыт для совершенно разных предложений по выполнению поставленной задачи.

George

1 Ответ

0 голосов
/ 29 января 2012

Что касается Eclipse RCP, я предложил использовать Glimmer с предположением, что разработчик уже достаточно хорошо знаком с Java и Eclipse RCP и, таким образом, может еще больше повысить производительность, используя Glimmer через JRuby. Однако я не имею непосредственного личного опыта, хотя знаю, что это возможно, если панели пользовательского интерфейса в приложении Eclipse RCP загружают код пользовательского интерфейса Glimmer Ruby через JRuby.

С другой стороны, для разработчика на Ruby я не обязательно советую использовать Eclipse RCP, так как он соответствует тяжелым парадигмам Java (включая сильную зависимость от XML) и имеет относительно крутую кривую обучения.

Ключевым преимуществом Eclipse RCP для разработчиков Java была возможность быстро приступить к работе с типичным настольным приложением, и под «типичным» я имею в виду приложение, которое состоит из окна с заголовком, панели инструментов, строки меню и одна или несколько панелей, обычно одна из которых находится в центре и часто ориентирована на редактирование файла (изображение, документ, форма структурированных данных, электронная таблица и т. д.).

Eclipse RCP предоставляет готовые решения для многих из этих "типичных" проблем с настольными приложениями, но, несмотря на это, я бы предпочел, чтобы разработчик Ruby переписал эти решения на Ruby и, возможно, предложил бы новую среду для замены Затмение RCP. Это потому, что Ruby может предоставить гораздо более простые решения, которые основаны на гораздо меньшем количестве кода и избегают использования XML.

Еще одна альтернатива - избегать Ruby и просто работать с чистой Java, чтобы решить ваши проблемы, используя преимущества рабочих сред, перспектив и т. Д. Eclipse RCP. И только после того, как вы овладеете Eclipse RCP, возможно, будете использовать Glimmer через JRuby. Но это может занять больше времени, особенно если вы уже вложили много кода в Ruby.

Если вы выберете первый вариант (использующий чистый Ruby без Eclipse RCP), мне будет интересно узнать, можете ли вы добавить какие-либо виджеты или расширения Glimmer, которые вы возвращаете в Glimmer или в поддерживающую библиотеку / инфраструктуру Glimmer на GitHub.

Смиренно,

Энди Малех - Создатель Мерцания

...