BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

面向移动的Ruby:MRuby、RubyMotion与Ruboto

| 作者 Mirko Stocker 关注 1 他的粉丝 ,译者 张龙 关注 14 他的粉丝 发布于 2012年5月13日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

过去几周有几个新的Ruby实现与方言加入到了Ruby这个大家庭中,他们分别是MRuby、MobiRuby与RubyMotion。我们将在本文中介绍这些Ruby实现所提供的一些功能上的亮点。

首先从MRuby开始,它是由Ruby创建者Matz开发的。在RubyConf 2010上,Matz宣布他正在开发Rite,一个新的轻量级Ruby实现。该项工作的成果就是MRuby,现在已经发布到了GitHub上。MRuby完全兼容于不久前ISO所发布的Ruby语言规范,但它与MRI及Ruby 1.9的着眼点则完全不同,因此MRuby并非Ruby 2.0。MRuby可用于运行Ruby程序,但其设计目的在于集成到其他程序中(比如说,在游戏中作为Lua脚本语言的替代者)并运行在内存受限的小型设备中。MRuby对自带的标准库进行了大幅度的精简并去掉了一些特性;Matz在报告中提到MRuby不再支持线程与多语言化(m17n)。其他特性则可以在编译期进行定制(比如说去掉文件I/O,或是选择字符编码等)。

Matt Aimonetti编写了一份MRuby入门指南,还对MRuby与Lua进行了详尽的比较。构建在MRuby之上的项目已经出现了,这将我们带到了MobiRuby。

MobiRuby“旨在通过Ruby替换掉移动平台上的Objective-C/C/Java,就好像你可以使用Lua或Mono来在这些平台上构建应用一样”。Matt Aimonetti分析了该项目所面临的挑战,比如说两个运行时的性能问题以及与平台原生API的交互和文档等。但遗憾的是,MobiRuby尚未发布,因此现在很难做出比较。

但如果你现在仍然想使用Ruby来开发iOS应用,那么还有其他选择。MacRuby的创建者Laurent Sansonetti刚刚发布了RubyMotion,这是MacRuby的一个带有所有权的分支,你可以通过它使用Ruby来编写iOS应用(InfoQ上有对其的详细介绍)。Rake用于创建、运行和编译应用,整个工作流程都是基于命令行的,但你依然可以使用Apple的Interface BuilderStoryboard。RubyMotion更像是一个Ruby方言而非完全的实现,因此你很难轻松地重用现有的Ruby gems。

Android开发者不必感到失望,Ruboto在过去几个月中保持着稳步前进的步伐。此外还有Mirah,它的语法非常类似于Ruby,并且以Pindah的形式支持Android。最后,基于Ruby的跨平台框架Rhodes的创建者Rhomobile最近被Motorola Solutions收购了(这并非Google打算收购的Motorola的一部分)。

那么,你打算如何开发下一个iOS应用呢?

查看英文原文:Ruby Slims Down for Mobile with MRuby, RubyMotion, Ruboto

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT