我一直在使用ocra将我的ruby文件转换为窗口可执行文件,但我注意到如果我使用像fxruby或green_shoes这样的ruby GUI需要很长时间。有没有办法减少程序弹出所需的时间?我当前的fxruby和green_shoes文件非常简单,但编译的exe文件运行大约需要一分钟。
这是我的fxruby.rb文件:
/* make the UL wrap around the LIs */
ul {
overflow: hidden;
width: 100%; /* adjust to suit your design */
}
/* breathing room for the link text */
a {
padding-left: 1em; /* again, adjust as needed. decimals like 1.3em are ok too */
}
这是我的green_shoes.rb:
require 'fox16'
include Fox
theApp = FXApp.new
theMainWindow = FXMainWindow.new(theApp, "Hello")
theButton = FXButton.new(theMainWindow, "Hello, world!")
theButton.connect(SEL_COMMAND) do |sender, selector, data|
exit
end
theApp.create
theMainWindow.show
theApp.run
任何使这些运行得更快的策略?或者可能更快的另一个ruby GUI选项?谢谢!!
答案 0 :(得分:0)
加载时间可能主要来自Java VM需要为您的应用程序启动的时间。我不太了解Java VM的各种优化方法,但网络搜索应该为您提供一些方法。但是,对应用程序启动的速度有一个最终限制。
另一种方法是使用node-webkit(nw.js)作为基本包装webkit浏览器的前端,然后你可以用opal编译你的ruby代码(如果你有冒险精神)或者让它启动ruby在后台创建一个前端将连接到的服务器的进程。我实际上是在一个基于python的项目中尝试这一点,到目前为止它很有趣,但是你应该知道你还需要学习关于HTML / CSS和最终JS的东西,如果你想让你的应用程序变得非常酷,那么这可能不会成为你想成为的人。我只是觉得通常nw.js方法对于GUI的东西比Java方法快一点。
实际上还有针对Ruby的QT和GTK绑定,但根据我的理解,它们大多已经过时(遗憾)。否则,QT可能是在Ruby中进行本机跨平台GUI开发的方法。