使用Ruby的非平凡桌面应用程序?

我即将开始一个开发Ruby桌面应用程序的项目。 我希望相当大,我想学习在模块之间划分代码的技术和其他管理复杂性的技术。 我看过的大多数大型应用都是Rails应用,但这些并不是很有用,因为大多数工作都是由Rails本身完成的。

你会推荐什么源代码我看看? 我对库或Rails应用程序不感兴趣,因为我了解它们的工作方式。 CLI应用程序没问题,但我最感兴趣的是GUI应用程序(我正在使用Gtk +,但我可以从使用其他GUI工具包的应用程序中学到很多东西)。

FreeBASE插件管理器系统被设计为一种在GUI应用程序中组织代码的方法,在我开发Redcar (Ruby / Gtk文本编辑器)时它对我很有用。

FreeBASE与在线开放数据库项目Freebase无关,它是FreeRIDE Ruby IDE人员开发的内容,使他们可以更轻松地构建大型GUI项目。

所以FreeBASE是FreeRIDE的一部分,但也是单独工作的。 您可以在此处找到有关它的信息 。

我是JotBot的所有者,这是一款用于跟踪时间的桌面应用程序。 它是使用Monkeybars和JRuby + Swing构建的。 它是跨平台桌面应用程序的极其强大的工具集。 有一个缺点是使用Swing可能会干扰任何特定桌面的真实原生外观,但除此之外它是一个真正的胜利。 此外,使用Rawr,您可以轻松地为OSX,Windows和Ubuntu创建捆绑的应用程序和安装程序。

如果您有任何疑问,请与我联系:james@neurogami.com

(存在downvotes的风险)

Ruby是我的主要语言,我建议不要在Ruby中编写大型桌面应用程序,除非已经编写了大量代码并且只需要快速开发新的GUI前端。 恕我直言,你是一个痛苦的世界。 CRuby不是这项工作的最佳工具,因为它在某些对桌面应用至关重要的领域很弱,例如线程,非阻塞IO,一流的GUI工具包支持等等……

JRuby或IronRuby是一个不同的故事,但……

查看LimeChat ,这是一个用Ruby(Cocoa)编写的图形化irc客户端。 它的源代码可以在github上找到。

也许看看FxRuby(rubygui库包装器),看看是否会出现任何线索。

您当然可以应用与Rails应用程序相同的组织原则,并将它们应用于桌面应用程序。 Griffon框架(一个java Swing框架)基本上是为Grails做的(基本上是一个java Rails克隆)。

早些时候听说过JotBot ,但还没有尝试过。

在讨论桌面(J)Ruby的MVC框架时,脑海也会浮现在脑海中。

Google SketchUp有一个Ruby API。