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

时间:2009-07-15 04:14:15

标签: ruby desktop-application

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

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

7 个答案:

答案 0 :(得分:7)

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

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

所以FreeBASE是FreeRIDE的一部分,但也可以单独使用。您可以找到有关它的信息here

答案 1 :(得分:7)

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

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

答案 2 :(得分:5)

(存在downvotes的风险)

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

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

答案 3 :(得分:4)

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

答案 4 :(得分:2)

也许请查看FxRuby(一个红宝石gui库包装器),看看是否会出现任何潜在客户。

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

答案 5 :(得分:2)

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

在讨论桌面(J)Ruby的MVC框架时,还会想到

MonkeyBars

答案 6 :(得分:1)

Google SketchUp有一个Ruby API。