12.5 其他GUI工具包
前面提到过,可能有些读者最喜欢的GUI这里没有介绍,本章余下的篇幅将列出其他一些GUI。
其中的一些还不成熟,可能有很多错误或不完整。然而,希望GUI工具包越来越多,支持的绑定越来越稳定。
12.5.1 Ruby和X
X Window System俗称(虽然不正确)X Windows。它也许不是所有GUI系统的祖父,但肯定是很多GUI系统的祖先。
各种版本的UNIX用户长期以来一直熟悉X(作为普通用户,但不一定是开发人员)。Motif窗口管理器通常运行在X上。
X的优势在于它广为人知、可移植、特性丰富,缺点是复杂、难以使用。
当然,也有将X用于Ruby的库,这里没有介绍是由于其复杂性。
读者可参考Ruby Application Archive,在这里可找到Kazuhiro Yoshida(也称为moriq)开发的Xlib和Mathieu Bouchard(也称为matju)开发的Ruby/X11,它们都可用于创建X客户端应用程序。
12.5.2 Ruby和wxWidgets
wxWidgets系统(以前名为wxWindows)功能完整且稳定,被广泛用于Python中,几乎是Python语言的本征GUI。该工具包背后的基本思想是,尽可能使用操作系统的本征窗口部件。其UNIX版本比Windows版本成熟,但每天都在变化。
当前,有一个相当成熟的wxRuby库,可在http://wxruby.rubyforge.org/下载该库及其文档。
12.5.3 Apollo(Ruby和Delphi)
真正的黑客知道,标准Pascal内容全面但用处不大。然而,在过去几年,很多人试图对其进行改进,使其成为值得使用的语言。其中,最成功的是Borland的Object Pascal,被用于其RAD工具Delphi中。
Delphi的流行不是由于Pascal语言扩展(虽然这也是一个影响因素),而是由于开发环境本身及其丰富的图形界面。Delphi有大量的窗口部件,可用于在MS Windows中创建稳定、美观的GUI应用程序。
Apollo库是Ruby和Delphi结合的产物,它是Kazuhiro Yoshida开发的,还有其他人也做出了贡献。Apollo的优点是它提供了大量稳定、便于使用的窗口部件,而它最大的缺点是,当前要求对Ruby做细微的调整。它需要使用Borland的经典软件Kylix来解释,该软件实际是基于Linux的Delphi。更详细的信息请参阅Ruby Application Archive。
12.5.4 Ruby与Windows API
第8章介绍了一种“可怜人的GUI”:使用WIN32OLE库来访问Internet Explorer等的特性,详情请参阅其中的示例。如果要求快速开发而对界面没有太高要求,这是可接受的。
如果你是自虐狂,可直接访问Windows API,这可通过WIN32API库实现(见第14章)。不推荐这样做,但读者应了解各种可能性。







