0

我一直在使用 ocra 将我的 ruby​​ 文件转换为窗口可执行文件,但我注意到如果我使用像 fxruby 或 green_shoes 这样的 ruby​​ GUI 需要很长时间。有什么方法可以减少程序弹出所需的时间吗?我目前的 fxruby 和 green_shoes 文件非常简单,但是编译好的 exe 文件运行大约需要一分钟。

这是我的 fxruby.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

这是我的 green_shoes.rb:

require 'green_shoes'

Shoes.app do
    button "OK!"
    button "Are you sure?"
end

有什么策略可以让这些运行得更快吗?或者可能是另一个更快的 ruby​​ GUI 选项?谢谢你!!

4

1 回答 1

0

加载时间可能主要来自 Java VM 需要为您的应用程序启动的时间。我不太了解 Java VM 的各种优化方法,但网络搜索应该为您赢得一些方法。但是,启动应用程序的速度会有一个终极限制。

另一种方法是使用 node-webkit (nw.js) 作为前端,它基本上打包了 webkit 浏览器,然后你可以用 opal 编译你的 ruby​​ 代码(如果你喜欢冒险的话)或者让它在创建前端将连接到的服务器的背景。我实际上是在一个基于 python 的项目中尝试这个,到目前为止它很有趣,但是你应该知道,如果你想让你的应用程序变得非常酷,你还需要学习有关 HTML/CSS 和最终 JS 的东西,所以这可能不会成为你想成为的人。我只是觉得总的来说,对于 GUI 的东西,nw.js 方法比 Java 方法快一点。

实际上,Ruby 也有 QT 和 GTK 绑定,但据我了解,它们大多已经过时(遗憾的是)。否则 QT 可能是在 Ruby 中进行原生跨平台 GUI 开发的方式。

于 2015-08-29T11:24:02.137 回答