OSX Mavericks 上的 Ruby GUI 支持(不是 Shoes 或 Ruby Motion)加上 OSX 应用程序包支持

标签 ruby user-interface osx-mavericks

这个问题已经被问过很多次了。有些答案现在已经很老了。我到处找了两件事。这是我放弃之前的最后一招。寻找:

  • 绑定(bind)将使用 Mavericks 使用 Ruby(不是 Shoes)启用 GUI 编程。我发现了很多绑定(bind),但在过去的 3 或 4 年里没有任何事件,RubyMotion 除外。这看起来非常昂贵,同时没有利用 Xcode 功能/没有 IDE。

  • 为用户打包应用程序作为常规 OSX 应用程序的方法,这样用户就不必在 OSX 上手动安装任何东西(如果多平台更好地定位 Windows)

我已经爱上了 Ruby,但如果没有办法解决上述问题,用户将难以部署,而我对 Rails 不感兴趣。 感觉 Rails 的流行实际上已经扼杀了 Ruby,因为它在 Ruby 本可以更受欢迎的情况下被置于一个利基市场。

关于这两个方面的任何新消息或一切都被遗弃/死亡? 我应该继续使用 Python/Objective-C 吗? (两者我都喜欢,但更喜欢 Ruby)

最佳答案

我使用 tk、green shoes 和 gosu 成功地将脚本编译为 ocra 可执行文件的 GUI,但只有在 Windows 上这样做的经验。如果您想要一个实际的跨平台 GUI,请尝试使用 jruby 的 java swing 框架,这里是一个示例。 如果您部署 JAR 或可执行文件,则需要进一步安装。 我想你现在使用的是 MRI ruby​​,到 jruby 的步骤并不难。

require 'java'

# With the 'require' above, we can now refer to things that are part of the
# standard Java platform via their full paths.
frame = javax.swing.JFrame.new("Window") # Creating a Java JFrame
label = javax.swing.JLabel.new("Hello")

# We can transparently call Java methods on Java objects, just as if they were defined in Ruby.
frame.getContentPane.add(label)  # Invoking the Java method 'getContentPane'.
frame.setDefaultCloseOperation(javax.swing.JFrame::EXIT_ON_CLOSE)
frame.pack
frame.setVisible(true)

关于OSX Mavericks 上的 Ruby GUI 支持(不是 Shoes 或 Ruby Motion)加上 OSX 应用程序包支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22444531/

相关文章:

php - [OSX][PHP 5.5.5] 忽略 --with-config-file-scan-dir

ruby - Gitlab 配置问题::NGINX Unicorn 端口冲突

ruby - 在 ubuntu 上安装 mongo gem 时出错

android - 如何根据android设备动态设置View Height?

c++ - QObject::connect 未将信号连接到插槽

macos - Applescript "do shell script with administrator privileges"在后台挂起

ruby-on-rails - 我如何从 environment.rb 或初始化程序中强制 RAILS_ENV=development ?

ruby - 如何在 ruby​​/rails 3 中复制/读取 pdf 文件

java - 将焦点放在不是焦点窗口的子项的面板上?

macos - 如何在Mac上安装nose for python 3