Поскольку интерфейсы находятся в структуре наследования, и статические методы не наследовались хорошо.
Система диспетчера подключаемых модулей FreeBASE разработана как способ организации кода в приложениях с графическим интерфейсом пользователя, и это хорошо зарекомендовал себя при разработке Redcar , текстового редактора Ruby / Gtk.
FreeBASE не имеет ничего общего с проектом открытых онлайн-баз данных Freebase, это то, что разработали люди FreeRIDE Ruby IDE чтобы упростить им структурирование большого проекта с графическим интерфейсом.
Итак, FreeBASE является частью FreeRIDE, но также работает отдельно. Вы можете найти информацию об этом здесь .
Может быть, посмотрите FxRuby (оболочка библиотеки ruby gui), чтобы увидеть, получается выявить потенциальных клиентов.
Конечно, вы могли бы применить те же организационные принципы, что и для приложений Rails, и применить их к настольному приложению.Фреймворк Griffon (фреймворк Java Swing) в основном сделал это для Grails (по сути, клон Java Rails).
Check out LimeChat, which is a graphical irc client written in Ruby(Cocoa). Its source code is available on github.
Heard about JotBot earlier, haven't tried it yet, though.
MonkeyBars also comes to mind, when talking about MVC frameworks for desktop (J)Ruby.
(Риск отрицательной оценки)
Ruby - мой основной язык, и я бы посоветовал не писать большое настольное приложение на Ruby, если только не большая часть кода уже написан, и ему просто нужно быстро разработать новый интерфейс GUI. ИМХО, вас ждет мир боли. CRuby - не лучший инструмент для этой работы, поскольку он слаб в некоторых областях, критичных для настольных приложений, например. многопоточность, неблокирующий ввод-вывод, поддержка графического интерфейса первого класса и т. д.
JRuby или IronRuby - это разные истории, хотя ...
Я владелец JotBot, настольного приложения для отслеживания времени. Оно было построено с использованием Monkeybars, с JRuby + Swing. Это чрезвычайно надежный набор инструментов для кроссплатформенных настольных приложений. Есть недостаток в том, что использование Swing может помешать достижению истинно "родного" вида для любого конкретного рабочего стола, но в остальном это настоящая победа. Кроме того, используя Rawr, вы можете легко создавать приложения и программы установки для OSX, Windows и Ubuntu.
Напишите мне, если у вас есть вопросы: james@neurogami.com