【问题标题】:Should I learn MacRuby or RubyCocoa [closed]我应该学习 MacRuby 还是 RubyCocoa [关闭]
【发布时间】:2010-10-16 06:27:38
【问题描述】:

我想用 ruby​​ 学习 mac 开发,但我不确定该学哪一个。 RubyCocoa 存在的时间更长,但我认为 MacRuby 从长远来看会击败它..

有什么建议吗??

【问题讨论】:

    标签: ruby macos macruby ruby-cocoa


    【解决方案1】:

    使用 MacRuby。这是未来:)

    它更新、速度更快、集成度更高。 HotCocoa 也很棒。

    MacRuby 是在 Apple Technologies 之上实现的 Ruby VM,而不是像 RubyCocoa 这样的桥接器。例如,Ruby 字符串本质上是 NSString,而不是由运行时桥接。这是一种更清洁、更快、更可靠的方法。它也是由 Apple 开发和赞助的,这意味着它可能在某个时候成为 OS X 的一部分。

    另请参阅此帖子:Why MacRuby Matters

    【讨论】:

    • 顺便说一句,我相信 MacRuby 字符串实际上是一个CFString,它与NSString 是免费桥接的。
    • 另外,您可以直接从 XCode 创建一个新的 MacRuby 项目。内置 MacRuby 支持!
    【解决方案2】:

    RubyCocoa 更加成熟并且经过更好的测试。 MacRuby 更简单,整体设计更好。 MacRuby 也与坐在沙滩球上的草坪椅一样稳定。严重地。从长远来看,它绝对是您想要使用的那个,但它还没有。它们并没有太大的不同,以至于您必须“学习”一个与另一个。它们都是可以访问 Cocoa API 的 Ruby。更重要的是了解 Cocoa API。

    我建议使用 Objective-C 学习 Cocoa。一旦你很好地掌握了框架的核心概念(这些都是基于 Objective-C 的),那么如果你仍然想使用 Ruby,你就可以使用 Ruby。

    2011 年更新

    上述情况不再适用于 MacRuby。它非常可靠和快速,足以在纯 Ruby 中完成大多数类型的 Cocoa 应用程序。 MacRuby 团队也竭尽全力兼容几乎所有的系统框架,甚至包括 C 框架。如果你喜欢 Ruby 并想做 Mac 开发,那绝对是值得考虑的事情。没有理由再选择 RubyCocoa,除非您需要支持旧版本的 OS X 或 PowerPC(MacRuby 严格来说是 Intel 10.5+)。其余注意事项:

    • 必须在您的应用程序中包含 MacRuby.framework 会降低包大小的上限(“Hello World”IIRC 为几十 MB)

    • 虽然它总体上是稳定的,但它仍然是非常新的测试版软件,因此在库的较少使用的角落有一些皱纹(例如指针有一些怪癖),并且一些设计决策不是final(例如并发支持正在迅速发展)

    • 文档仍在进行中,落后于快速发展的语言。你会发现很多关于 MacRuby 的文章都表明,HotCocoa 是制作应用程序的一种很酷的原生方式——它是一个很酷的实验,但它现在已被废弃,存在一些使其不适合大规模应用程序开发的关键缺陷。标准 Xcode 工具链是进行 MacRuby 开发的受支持方式。

    我仍然建议使用 Objective-C 学习 Cocoa,因为这是框架的原生语言,因此阻力最小。

    【讨论】:

    • 如果您最近有使用 MacRuby 的经验,最好更新这个关于当前稳定性状态的答案(或添加评论)。
    • @Phrogz:感谢您的推动。已更新。
    • 很好的信息,谢谢! (我正要走这条路,一直在密切关注 HotCocoa。)
    【解决方案3】:

    自从 Chuck 回复你之后,事情发生了很大变化,MacRuby 现在使用 LLVM,允许 AOT 编译,并且非常稳定并且比以前快得多。 ruby 方面仍然需要做一些工作才能 100% 兼容,但在我写这篇回复时,0.5 仍处于测试阶段,您应该会很快看到 ruby​​ 库兼容。

    【讨论】:

      猜你喜欢
      • 2015-12-05
      • 2011-02-14
      • 2016-09-14
      • 2010-11-02
      • 2010-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-07
      相关资源
      最近更新 更多