我正在考虑创建一个基于GUI的工具,我想要跨平台.我已经解雇了Java,因为我个人不喜欢Swing.我正在考虑使用C#并使用Mono来实现跨平台.但是我想知道像Ruby这样的新型跨平台语言能否为我提供一个不错的GUI开发环境.
简短的回答:不(因为你说跨平台).
答案很长:跨平台的GUI是一个古老的问题.Qt,GTK,wxWindows,Java AWT,Java Swing,XUL - 他们都遇到了同样的问题:生成的GUI在每个平台上看起来都不是原生的.更糟糕的是,每个平台的外观和感觉都略有不同,所以即使你能够以某种方式获得在每个平台上看起来都是原生的工具包,你也必须以某种方式编写你的应用程序以在每个平台上感觉原生.
这取决于一个决定:您是否希望最大限度地减少开发工作,并且在每个平台上都拥有一个看起来不太合适的GUI,或者您是否希望最大化用户体验?如果选择第二个选项,则需要为每个平台开发一个通用后端和自定义UI.
对于你的共同后端,ruby不是一个糟糕的选择.
Ruby有鞋,但可能有点轻量级.
你将拥有Ruby/GTK,它允许你在linux下使用GTK工具包.我认为应该在Windows和Mac Os下工作(对于Gimp,Gaim等).
一个法国杂志发表好文章初学者对Ruby/GTK.
编辑:根据SourceForge项目的主页,Ruby-Gnome2(又名Ruby/GTK)是跨平台的(Windows,Linux,Mac Os).
使用Ruby,您可以使用Tk,这是一个成熟的跨平台UI工具包.它是Python和Tcl的defacto GUI工具包,也可以与Perl一起使用.最新版本的Tk使用本机小部件来解决Tk看起来过时的主要问题.
一个致力于Tk的语言中立网站是http://www.tkdocs.com/,其中包含用Ruby和Tcl编码的示例.