OceaBase开发者大会落地上海!4月20日共同探索数据库前沿趋势!报名戳 了解详情
写点什么

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

  • 2012-05-12
  • 本文字数:1002 字

    阅读完需:约 3 分钟

过去几周有几个新的 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 Builder Storyboard 。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

2012-05-12 03:345018
用户头像

发布了 88 篇内容, 共 258.4 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

14 种编程语言书写关机脚本,真香

梦想橡皮擦

9月日更

这可能是最细的ArrayList详解了!

程序员阿杜

Java ArrayList

Vite + Vue3 + OpenLayers

德育处主任

大前端 地图 vite Vue3 openlayers

5 个网站将您的前端技能从 1 倍提升到 100 倍

云原生

学习 大前端 全栈

深入理解rtmp(三)之手把手实现握手协议

轻口味

音视频 RTMP 9月日更

redis主从实践(一)

风翱

redis 9月日更

将JSON中对于集合的数据,如何解析成对象集合

卢卡多多

集合 Stream<T> 9月日更

灯塔之上:vivo X70背后的影像进化史

脑极体

【网络安全】Spring框架漏洞总结(二)

网络安全学海

黑客 网络安全 信息安全 WEB安全 漏洞挖掘

模块七作业

seawolflin

架构实战营

Who is Mavenir?

俞凡

Mavenir

【墨天轮专访第四期】华为云GaussDB:发挥生态优势,培养应用型DBA

华为云数据库小助手

GaussDB 交流 华为云数据库 人物访谈

阿里巴巴开源数据库--OceanBase从使用聊到架构剖析

hanaper

全方位解读服务网格(Service Mesh)的背景和概念

xcbeyond

Service Mesh 服务网格 引航计划

通过编程训练题来讲讲链表操作

Regan Yue

算法 链表 9月日更

Python——函数正确调用

在即

9月日更

详解css中清除浮动的四种方式,float浮动怎么用更为合理

你好bk

最佳实践 方法论 大前端 html/css 语言 & 开发

HTML进阶(三)

Augus

html 9月日更

【Flutter 专题】50 图解动画小插曲之 Lottie 动画

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

北鲲云SaaS平台让生物医学关键环节不再靠“猜”

北鲲云

这可能是最细的HashMap详解了!

程序员阿杜

Java JVM ArrayList

翻转未来!钢铁之城重添色彩

白洞计划

人才缺口超70万,15所高校新设区块链专业

CECBC

你应该知道的高效学习法

法医

9月日更

redis--zset解析

en

redis Zset 引航计划

Python代码阅读(第27篇):将变量名转换成驼峰形式

Felix

Python 编程 Code Programing 阅读代码

【VueRouter 源码学习】第九篇 - router-view 组件的实现

Brave

源码 vue-router 9月日更

NDK-AAudio

Changing Lin

9月日更

狄刚谈区块链:技术上去中心化并不等于管理去中心化

CECBC

号外!号外!极客时间出插件了😎

IT蜗壳-Tango

极客时间 9月日更 浏览器插件

RocksDB原理及应用

hanaper

面向移动的Ruby:MRuby、RubyMotion与Ruboto_Ruby_Mirko Stocker_InfoQ精选文章