面向iOS的静态编译Ruby
现在已经出现了一个静态编译的Ruby变体,用于构建面向iOS设备的应用。该语言叫做RubyMotion,来自于HipByte的这门语言与工具链完全遵循Apple的App Store指导方针。为了做到这一点,他们不得不去掉了JIT编译器与解释器,这会导致一些Ruby开发者觉得非常受限制。
其工具支持非常弱。RubyMotion并没有任何IDE支持。HipByte希望开发者使用自己的文本编辑器与命令行终端来完成大多数开发任务。
运行时则要好很多。RubyMotion完全支持多线程编程而不会遇到全局解释器锁的不便。它甚至为Grand Central Dispatch(Apple 的用于并发与并行编程的基于任务的程序库)提供了一个接口。类似于Ruby本身,内存是由运行时管理的,但开发者依然可以访问原生以及第三方的 Objective-C程序库。据推测,这种访问“是非常自然的且不会有任何性能上的代价”。将RubyMotion与Mono for Android相比,后者通常需要在Mono与Dalvik运行时之间编排对象。
RubyMotion的大部分内容都是基于MacRuby的。MacRuby是 个已经持续了四年之久的项目,基于OS X与Objective-C提供了Ruby 1.9。MacRuby的上一版发布于2011年3月,版本号为0.10,这表明其发展速度并不如预期那么快。“MacRuby是由MacRuby团队版 权所有的免费软件,基于Ruby的许可”。
RubyMotion本身并非开源项目。其零售价为每个开发者200美金,此外再没有其他的许可费与版权税。其零售价格包括一年的升级,这样其实际上是个订阅,每年需要升级一次。