use*_*481 16 ruby macos ruby-cocoa macruby
我想用ruby学习mac开发但是我不确定要去哪一个.RubyCocoa已经存在了很长时间,但我认为MacRuby将在长期内击败它.
有什么建议??
Mel*_*Mel 37
和MacRuby一起去吧.这是未来:)
它更新,更快,更好地集成.HotCocoa也很棒.
MacRuby是一个在Apple Technologies之上实现的Ruby VM,而不是像RubyCocoa这样的桥梁.例如,Ruby String本质上是一个NSString,而不是由运行时桥接.这是一种更清洁,更快速,更坚固的方法.它也是由Apple开发和赞助的,这意味着它可能在某些时候成为OS X的一部分.
另见这篇文章:为什么MacRuby很重要
由于Chuck回复你,事情发生了很大的变化,MacRuby现在使用LLVM,允许AOT编译,并且比以前更加稳定和快速.事情的红宝石方面仍然需要一些工作才能100%兼容但是当我写这个响应时,0.5仍然处于测试阶段,你应该看到ruby库很快兼容.
RubyCocoa更成熟,测试更好.MacRuby整体设计更简单,设计更好.MacRuby也和坐在沙滩球上的草坪椅一样稳定.认真.从长远来看,这绝对是你想要使用的,但它还没有.他们没有那么不同,你必须"学习"一个与另一个.他们都只是Ruby,可以访问Cocoa API.它更多的是了解Cocoa API而不是其他任何东西.
我建议用Objective-C学习Cocoa.一旦掌握了框架的核心概念(都基于Objective-C),那么你可以使用Ruby,如果你仍然想要的话.
以上不再适用于MacRuby.它非常坚固和快速,足以在纯Ruby中执行大多数类型的Cocoa应用程序.MacRuby团队也不遗余力地与几乎所有的系统框架兼容,甚至是C系统框架.如果你喜欢Ruby并且想要进行Mac开发,那肯定是需要考虑的事情.除非您需要支持OS X或PowerPC的古老版本(MacRuby严格来说是英特尔10.5+),否则没有理由选择RubyCocoa.其余的警告:
必须在您的应用程序中包含MacRuby.framework,才能在捆绑包大小上设置较低的边界("Hello World"IIRC的几十MB)
虽然它一般都很稳定,但它仍然是非常新的测试版软件,因此在库中较少使用的角落中存在一些皱纹(例如,指针有一些怪癖),并且一些设计决策不是最终的(例如并发支持是迅速发展)
该文档仍在进行中,并且落后于快速移动的语言.你会发现很多关于MacRuby的文章表明,HotCocoa是制作应用程序的一种很酷的本地方式 - 这是一个很酷的实验,但它现在已经放弃了一些关键缺陷,使其不适合大规模的应用程序开发.标准的Xcode工具链是支持MacRuby开发的方式.
我还建议使用Objective-C学习Cocoa,因为这是框架的本地语言,因此是阻力最小的路径.