【发布时间】:2010-10-16 06:27:38
【问题描述】:
我想用 ruby 学习 mac 开发,但我不确定该学哪一个。 RubyCocoa 存在的时间更长,但我认为 MacRuby 从长远来看会击败它..
有什么建议吗??
【问题讨论】:
标签: ruby macos macruby ruby-cocoa
我想用 ruby 学习 mac 开发,但我不确定该学哪一个。 RubyCocoa 存在的时间更长,但我认为 MacRuby 从长远来看会击败它..
有什么建议吗??
【问题讨论】:
标签: ruby macos macruby ruby-cocoa
使用 MacRuby。这是未来:)
它更新、速度更快、集成度更高。 HotCocoa 也很棒。
MacRuby 是在 Apple Technologies 之上实现的 Ruby VM,而不是像 RubyCocoa 这样的桥接器。例如,Ruby 字符串本质上是 NSString,而不是由运行时桥接。这是一种更清洁、更快、更可靠的方法。它也是由 Apple 开发和赞助的,这意味着它可能在某个时候成为 OS X 的一部分。
另请参阅此帖子:Why MacRuby Matters
【讨论】:
CFString,它与NSString 是免费桥接的。
RubyCocoa 更加成熟并且经过更好的测试。 MacRuby 更简单,整体设计更好。 MacRuby 也与坐在沙滩球上的草坪椅一样稳定。严重地。从长远来看,它绝对是您想要使用的那个,但它还没有。它们并没有太大的不同,以至于您必须“学习”一个与另一个。它们都是可以访问 Cocoa API 的 Ruby。更重要的是了解 Cocoa API。
我建议使用 Objective-C 学习 Cocoa。一旦你很好地掌握了框架的核心概念(这些都是基于 Objective-C 的),那么如果你仍然想使用 Ruby,你就可以使用 Ruby。
上述情况不再适用于 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,因为这是框架的原生语言,因此阻力最小。
【讨论】:
自从 Chuck 回复你之后,事情发生了很大变化,MacRuby 现在使用 LLVM,允许 AOT 编译,并且非常稳定并且比以前快得多。 ruby 方面仍然需要做一些工作才能 100% 兼容,但在我写这篇回复时,0.5 仍处于测试阶段,您应该会很快看到 ruby 库兼容。
【讨论】: