使用 JRuby 和 Swing 进行跨平台开发

使用 Ruby 除了可以构建 Web 和控制台应用程序外,还可以编写复杂的 GUI 桌面应用程序,这些桌面应用程序可以不作修改地在多种平台上运行。得益于 JRuby,Ruby 的传统 C 实现的健壮替代品,Ruby GUI 工具包可以使用用于 Java 平台的 UI 工具。本文介绍一个用 JRuby 和 Swing 构建应用程序的库 Monkeybars,并讲解一个示例应用程序。

Ruby 目前被作为一种用于构建 Web 应用程序的编程语言而著称,主要通过 Ruby on Rails 框架使用。但是,这种语言还可以用于开发图形化桌面应用程序。在本文中,您将学习更多关于使用 Ruby 进行桌面应用程序开发的知识,并完成一个详细的示例,这个示例使用 Monkeybars — 一个基于 Swing 和 JRuby 的开源库 — 创建一个 GUI 桌面应用程序。

Ruby and Rails 技术资源中心

欢迎访问 Ruby and Rails 技术资源中心,这里整理了和 Ruby 动态语言以及十分流行的开源 Web 开发框架 Ruby on Rails 相关的技术文章、教程和相关资源。

面向桌面的 Ruby

标准的 Ruby 发行版包括用于 Tk 绑定的代码,Tk 是一组开源的、跨平台部件集,用于创建图形化桌面应用程序。这可以带来很大的方便。但是,在从源代码安装 Ruby 时,应确认同时还有 Tk 依赖关系,并确保编译设置包括 Tk。如果在 Windows® 上使用方便的 “一键式(one-click)” 安装程序包安装 Ruby,那么仍然需要采取额外步骤使 Tk 工作,因为它不再支持自动安装。

即使为 Ruby 设置了 Tk,它仍然有点沉闷。在某些目标平台上,它们看上去相当丑陋。而且,创建复杂的接口令人生畏。Tk 最适合用于较小的 GUI 需求。

可用工具包

Tk 的这些弱点促使了其他面向 Ruby 的 GUI 工具包选项的开发(请参阅 参考资料 查看相关链接)。有些值得注意的选择是:

  • FxRuby:FxRuby 是用于 Fox 的 Ruby 绑定,这是一个用 C 编写的 GUI 工具包。它可用于使用 RubyGems 的安装。对于 Windows,有一个二进制 gem;用于其他平台的 gem 则需要编译本地代码。

  • WxRuby: WxRuby 是用于跨平台 wxWidgets C++ GUI 工具包的一个绑定,通过它可以创建拥有本地外观的桌面应用程序。它可用于使用 gem 的安装。

  • QtRuby:QtRuby 提供对 Qt 工具包(在 KDE 桌面系统中使用的工具包)的 Ruby 绑定。对于 Windows 安装,有一个 gem,但是对于其他平台则只有源代码。

  • GTK-Ruby:GTK 是在 GNOME 中使用的 UI 工具包。要使之运行,需要编译本地代码。

  • Shoes:Shoes 是最近出现的一个与 Ruby GUI 部件有关的工具包。与这份列表中提到的其他工具包不同的是,它是专门为 Ruby 设计的。可以使用特定于平台的安装程序来安装它。

  • Swing:Swing?是的,正是这个与每个 Java 运行时环境捆绑的 GUI 库。如果您运行 JRuby,那么可以使用 Swing。

除了其中一个外,所有这些都是用 C 或 C++ 编写的 GUI 或部件库,它们都有相应的绑定,以允许在其他语言,例如 Ruby、Python 和 Perl 中调用它们。在几乎所有情况下,您都要面对多种考虑,例如安装和发行。

如何选择 GUI 库

当然,选择使用哪个 GUI 工具集取决于您的特定需要。需要考虑以下内容:







本文转自IBM Developerworks中国

      请点击此处查看全文

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值