2012-01-23 2 views
2

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

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

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

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

Назначение: приложение, которое я ищу, будет обрабатывать временные ряды. Это задачи прекрасно подходит ИМХО в концепции перспектив в RCP приложения:

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

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

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

Джордж

ответ

0

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

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

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

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

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

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

Смиренно,

Энди мале - Создатель Glimmer

+0

где каждый находит проект проблеск? Страница проекта eclipse связана с завершенным проектом из-за неадекватных метаданных. Две страницы, которые я нашел, являются краткими и не содержат информации о том, как установить или использовать модуль. – will

Смежные вопросы