Нетривиальные настольные приложения, которые используют Ruby?

Я собираюсь запустить проект, создающий настольное приложение Ruby. Я ожидаю, что буду достаточно большим, и я хочу изучить методы разделения кода между модулями и другими методами управления сложностью. Большинство крупных приложений, на которые я смотрел, - это приложения Rails, но они не очень полезны, потому что большая часть работы выполняется самими Rails.

Какой исходный код вы бы порекомендовали? Меня не интересуют библиотеки или приложения Rails, потому что я понимаю, как они это делают. Приложения CLI в порядке, но меня больше всего интересуют графические приложения (я использую Gtk +, но я могу научиться так же, как и приложениям, используя другие инструменты GUI).

Ответ 1

Система диспетчера плагинов FreeBASE спроектирована как способ организации кода в приложениях с графическим интерфейсом, и он отлично сработал у меня в моей разработке Redcar, текстовый редактор Ruby/Gtk.

FreeBASE не имеет никакого отношения к онлайн-открытому проекту базы данных Freebase, это то, что разработали разработчики FreeRIDE Ruby IDE, чтобы облегчить им структурирование большого проекта GUI.

Итак, FreeBASE является частью FreeRIDE, но также работает отдельно. Вы можете найти информацию об этом здесь.

Ответ 2

Я являюсь владельцем JotBot, настольного приложения для отслеживания времени. Он был построен с использованием Monkeybars, с JRuby + Swing. Это чрезвычайно надежный набор инструментов для кросс-платформенных настольных приложений. Существует недостаток, что использование Swing может помешать достижению истинного родного взгляда на какой-либо конкретный рабочий стол, но кроме этого это реальная победа. Кроме того, с помощью Rawr вы можете легко создавать связанные приложения и инсталляторы для OSX, Windows и Ubuntu.

Оставьте мне строку, если у вас есть вопросы: [email protected]

Ответ 3

(рискует понижаться)

Ruby - мой основной язык, и я бы посоветовал не кодировать большое настольное приложение в Ruby, если основная часть кода уже написана и просто нуждается в новом интерфейсе графического интерфейса, разработанном быстро. ИМХО, у тебя в мире боли. CRUBY - не лучший инструмент для этой работы, поскольку он слаб в некоторых областях, которые имеют решающее значение для настольных приложений, например. потоковое, неблокирующее IO, поддержка инструментария GUI 1-го класса и т.д.

JRuby или IronRuby - это разные истории, хотя...

Ответ 4

Отметьте LimeChat, который является графическим клиентом irc, написанным на Ruby (Cocoa). Его исходный код доступен в github.

Ответ 5

Возможно, посмотрите FxRuby (оболочка библиотеки ruby ​​gui), чтобы увидеть, что это вызывает какие-либо выводы.

Конечно, вы можете применить те же организационные принципы, которые используются для приложений Rails, и применить их к настольному приложению. Рамка Griffon (java Swing framework) в основном сделала это для Grails (по сути, клон Rails Rails).

Ответ 6

Слышал о JotBot ранее, но еще не пробовал.

MonkeyBars также приходит в голову, когда речь идет о инфраструктурах MVC для рабочего стола (J) Ruby.