OSX Mavericks(Not Shoes或Ruby Motion)上的Ruby GUI支持以及OSX应用程序包支持

Wil*_*ill 5 ruby user-interface osx-mavericks

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

  • 使用Mavericks 使用Ruby(而不是Shoes)进行GUI编程的绑定.我找到了很多绑定,但在过去3或4年没有任何活动,除了RubyMotion,这似乎非常昂贵,而没有利用Xcode功能/没有IDE.

  • 将应用程序打包为常规OSX应用程序的方法,这样用户就不必在OSX上手动安装任何东西(如果更好的目标也可以更好地安装到目标Windows)

我已经爱上了Ruby但是没有办法解决上述问题将难以为用户部署,而我对Rails不感兴趣.像Rails流行的感觉实际上已经杀死了Ruby,因为它可能会更多地将它放入一个利基市场.

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

pet*_*ter 2

我成功地使用 tk、green Shoes 和 gosu 编译脚本作为 GUI 到 ocra 的可执行文件,但只有在 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)
Run Code Online (Sandbox Code Playgroud)