KevinSmith: 我第一个建立了这个页面,并且希望其它人能增加评论,这里的一些信息可能比较陈旧(甚至垃圾),所以我们要更新它,我删除了一些人的名字,如果这得罪了你的话,请自己在把名字加近来。
Tk. 从我自己来说,我不喜欢它。我想我不喜欢它的一个原因是它类似Perl一样的绑定机制,虽然这有两种方式来配置一个窗口部件(widgets),但这两种方法都是我不喜欢的。使用类似perl的绑定机制使得熟悉Perl/Tk的人很容易上手。tk的界面观感看上去有点过时,选择widgets看上去也有点脆弱。不过它是跨平台的,这是很不错的。我听说了人们对tk开发社区的健康关心,但最起码从Tk到Ruby绑定是比较稳定的。
BrianWisti -- RubyTk 并不是Unix系统上最吸引人的toolkit,但它是随着Ruby的发布版本一起发布的,这也是它的优点。
FOX. FOX有着非常好的ruby绑定,并且选择的widgets都很好,现在的开发团队也很活跃,它在win32和x windows下直接运行(不需要其它层的支持),但它并不使用 NativeWidgets.
FXRuby, 是 Fox的ruby绑定,现在已经整合到 WindowsInstaller 中了
wxWindows. 我在一个c++的小项目中用过几个月,它是一个类似MFC的成熟的框架,开发团队看上去非常强大,而且c++看上去也是品质能得到保证。它在windows下直接能运行,而在linux下,必须在GTK或者Motif之上运行。
wxWindows尽量本地widget(NativeWidgets),当本地平台没有时,它就使用自己创建的组合widgets。在win32上,它几乎使用所有的本地widgets组件,而在GTK+上,它创建了自己的类似win32版本的树型控件和列表控件。这也使得跨平台更容易了。
同时,还有一个对语法高亮显示的文本编辑器Scintilla (www.scintilla.org)的包装,Scintilla 支持Ruby语法。最近在ruby的邮件列表里讨论过关于ruby IDE的问题,有了Scintilla ,也许可以用wxWindows写一个有趣的Ruby IDE。
除了win32和gtk+,它也能在Mac上运行,并且准备在一些嵌入式系统中使用,已经有了关于在windows ce上使用wxWindows的讨论了。 wxWindows已经有10年的历史了,有很多widgets可供选择。
还有一个非常不错的GUI builer:wsDesigner,这个不是免费的一个学生许可证只要19$,但是不清楚它将来是否会支持wxruby。我想当wxRuby准备好的时候它的作者会这么认为的。
同样还有一个类似glade的GUI builder,wxGlade,是用python写的,它的主页上没有提到ruby,但是我想使用XRC(wxWidgets' XML resources)可能是一个解决办法
已经有面向python,perl的绑定了,用于ruby的wxruby开发团队在:http://rubyforge.org/projects/wxruby
GTK. 2001年我在两个小项目上用过ruby/GTK,基本上它能满足要求。虽然一直以来对win32的支持是它的弱项,但是他们正在加强这方面的支持。尽管这是用c写的,但是它却十分的面向对象。ruby绑定也很简洁,但是却非常接近本地C API函数库,所以现在GTK的文档也适用于Ruby/GTK。开发社区非常强大,widget也很全面,大体设计也很简洁。但是,也有不幸的一面,GTK本身十分复杂,每个类都有很多方法。
AviBryant: Ruby/GTK, 不像其它绑定那样,它能很好的和非常好的GUI builder(glade)一起工作,这也算一个优点吧。
KevinSmith: 个人来说,我倾向于用代码创建一个对话框,而不是用GUI builder。现在很多toolkits都支持按布局来轻松的放置到窗体上,而不需要指定象素了。
Qt. 这个看起来是一个设计良好,并且提供优秀widget可供选择的toolkit,我确信它没有使用 NativeWidgets。
但是,它的许可证有问题。我的理解是商业开发者或者封闭源代码的用户(任何平台上)必须为QT付费1000美元,自由得开放源代码开发者则可以免费使用。
如果我花了很多时间学习了一个包,然后以它为基础写了自己的程序,并且希望以10美元来作为共享软件发布,我不想非要买那个许可证,或者突然要转到其他的包。我并不实说qt有神么错误,只是我更倾向于使用遵从LGPL或者BSD的库。
Richard Dale -- 另一方面,如果你喜欢 GPL:
有一个'QtRuby?' 项目,还有一个KDE扩展集叫做Korundum,两者都是KDE的项目。命令行工具rbuic,支持Qt Designer UI builder,用来将designer的.ui文件转换为ruby代码。
概要信息可见: http://developer.kde.org/language-bindings/ruby/
http://rubyforge.org/projects/korundum/
这个绑定第一次发不是在2004年的 KDE 3.2 中。
FLTK.这个东西非常的轻量级-甚至在某些方面过于简单。比如,它只支持你访问256种颜色,它支持一定的widgets,它的ruby绑定版本非常容易学习,它在win32和X windows下面都使用本地特性,不使用NativeWidgets,在我最后一次查看这个项目的时候,它的Mac的版本还是beta版。
我比较关心的是放置组件的布局是按照象素还是使用布局管理器(layout managers)。版本2的FLTK(不知道什么时候会发布)对布局管理将提供更好的支持。它的开发团队看上去应该还算活跃。FLTK拥有的widgets可能比较少,但是最基本的还是挺齐全的。
有一个用于C++的 GUI builder (叫做 FLUID)。
也有 Ruby/FLTK 绑定的支持。
原文:http://www.rubygarden.org/ruby?ComparingGuiToolkits
翻译 < liubin huangpuzhuang.com>
http://blog.csdn.net/ruby_cn
2004/11/25
联系客服