MacRuby有什么好处/限制,有没有人用它来为iPhone编程?

Jon*_*nah 3 ruby iphone macos programming-languages objective-c

我一直在运行对MacRuby的引用,并想知道你是否有人用它来进行iPhone/Objective C编程.

MacRuby网站称,"MacRuby的目标是创建功能齐全的Mac OS X应用程序,这些应用程序不会牺牲性能以享受使用Ruby带来的好处."

所以,我的问题是:Ruby的好处是什么?

而且,更重要的是,有哪些限制?

Wil*_*ris 6

我没有使用过MacRuby,但我怀疑它是否可以用于iPhone开发,因为它构建于Mac OS X Objective-C运行时之上并使用Objective-C 2.0垃圾收集器(而不是使用它自己的).虽然iPhone OS有Objective-C 2.0,但它缺少垃圾收集器(你仍然需要使用retain/ release-style托管内存),所以我希望MacRuby无法开箱即用.

此外,MacRuby对App Store的开发没有用,因为使用解释器(Apple提供的解释器除外)是禁止的.

Ruby的iPhone端口可能适用于越狱手机,但该设备的RAM和CPU资源非常有限,所以我不确定这样的端口会有多成功.我预计MRI太慢而且内存饥饿对iPhone很有用,但其中一个替代Ruby解释器可能效果很好 - 也许MacRuby有自己的GC.

我当然可以看到MacRuby在Mac OS X开发方面有很多优势.以下是我头脑中的一些事情:

  1. 作为一种语言,Ruby使用它是一种乐趣.积木很可爱.它非常动态,并且对元编程有很大的支持,因此可以快速生成非常紧凑但仍然可读的代码.
  2. 当Objective-C是Objective时,它可以是相当高级别的,但是当它成为C时可能会变得非常低级.Ruby具有较少的C-ness.
  3. 恕我直言,Objective-C有一些非常奇怪的语法.你过了一段时间就习惯了,但它吓到了新手.Ruby有一个更主流的语法,特别是如果你使用foo.bar('baz')而不是foo.bar 'baz'.
  4. Objective-C使用头文件.我.h.m文件之间切割'n'pasting方法原型感到恼火.Ruby没有这个.