Ruby可以用来开发简单的Windows应用程序吗?

时间:2009-10-31 16:11:03

标签: windows ruby

我一直在开发基于Windows的应用程序很长一段时间,我现在的大多数客户仍然需要桌面或客户端/服务器Windows应用程序。是否可以将Ruby用于此类应用程序,而不是将其作为Web编程语言的主要目的?

7 个答案:

答案 0 :(得分:12)

Ruby并不是一种主要的Web编程语言,尽管Ruby on Rails当然适合Web开发。 Ruby是一种通用脚本语言。

FXRubyWxRuby框架是Ruby最全功能的GUI框架。您可以在Ruby中编写应用程序,然后生成Windows可执行文件。这些框架是跨平台的,因此您也可以在其他平台上运行这些应用程序,例如Linux或Mac OS X.

还有一些其他不太流行的方法,如QtRuby和Shoes,你甚至可以使用IronRuby(一个CLR Ruby实现)来编写.Net应用程序。

答案 1 :(得分:4)

Ruby是一种通用的面向对象的脚本语言。 Ruby on Rails是一个Web应用程序框架。 Ruby早于Rails大约十年。不要混淆两者。

答案 2 :(得分:3)

是的,你可以。 Ruby是一种完整的脚本语言。您可能希望从Ruby language homepage开始,以查看可用的功能和库。

然而,仅仅因为你并不意味着你应该这样做。在为项目进入并使用Ruby之前,看看Ruby是否可以为您提供其他语言无法使用的东西,或者使用Ruby是否有任何缺点。

答案 3 :(得分:2)

我知道这个帖子已经过时了,但是为了将来参考那些正在研究使用Ruby作为GUI应用程序的选项的人,请不要使用 QtRuby 。我在大约一个星期内为学校开发了一个项目,功能齐全,漂亮,只是发现我无法发布它。在没有用户模拟您的确切环境(安装所有gem依赖项,构建Qt开发库等)的情况下,根本无法打包和分发应用程序。我尝试使用:

  • Crate :据说是跨平台的,但是我发现只有一个用法示例是在2008年写的~2小时的谷歌搜索,这个例子基本上涵盖了一个非常特定的应用程序子集(一些ssl / https authentication gem或w / e ...)
  • Ocra :这看起来像是一个候选人,但它只是Windows而且不符合我的要求,因为我不得不针对三个主要平台
  • tar2rubyscript + ruby​​script2exe :我花了大部分时间试图让它发挥作用,因为我遇到过很多人声称这是要走的路用于分发以ruby构建的GUI应用程序(尽管使用其他工具包,Tk / GTK / wxRuby)但它也不起作用;我无休止地面对一个基本上破坏Qt :: UiLoader功能的神秘错误,换句话说,你无法加载你用QtDesigner创建的.ui工作表......所以...

是的,老实说我很生气和沮丧,因为我没有看到创建你只是无法发布的软件供任何人使用。现在,我将在一周内完成最后期限,我希望能及时将应用程序移植到C ++。

所以我的答案是,不要使用QtRuby。至少现在。

答案 4 :(得分:1)

在mac上,您可以使用Ruby Cocoa lib来创建(看起来像是什么)本机应用程序。如果你想要更多跨平台的东西,你可以考虑像鞋子或qt这样的包装。

Qt工具包似乎是最受欢迎的方式。该网站为http://www.darshancomputing.com/qt4-qtruby-tutorial/

我目前正在一个名为 Shoes 的包装中编写一个小应用程序。这似乎使得在ruby中创建窗口化应用程序变得简单。 http://shoes.heroku.com/是该网站。

目前,Shoes看起来只适合小型个人应用。我之所以这么说,是因为它的作者最近擅离职守,目前尚不清楚是否会进一步发展。我正在使用它来编写游戏日志解析器以从飞行模拟器生成统计数据。它很顺利。

答案 5 :(得分:1)

Ruby可用于开发GUI应用程序,无论是Windows特定的还是跨平台的。

对于Windows目标,你应该看一下IronRuby正在进行的工作,因为他们与整个.NET框架和Silverlight有很好的集成,如果你想做可以桥接web和桌面的应用程序。此时,IronRuby可用于开发Windows Presentation Foundation (WPF)WinForms

对于跨平台,您拥有QTFOX和其他人的Ruby绑定。

答案 6 :(得分:0)

您应该查看IronRuby - WPF和Windows窗体都受支持: