AICon日程100%就绪,9折倒计时最后一周 了解详情
写点什么

面向移动的 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:345156
用户头像

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

关注

评论

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

想不到阿里内部的神级项目和JDK源码阅读指南竟惨遭GitHub开源

Java 架构 面试 程序人生 计算机

字节大牛把算法常见面试:哈希、链表、队列、递归全部总结出来了

Java 程序员 面试 算法 计算机

苹果手机请求程序报network error错误

石云升

bug 8月日更 兼容问题

Tensorflow随笔(三)

毛显新

人工智能 神经网络 深度学习 tensorflow

什么是通证经济?它和区块链又有什么关系呢?

CECBC

我要上首页!自荐好文,官方百万流量扶持

InfoQ写作社区官方

9月日更 11月日更 12月日更 热门活动 10月月更

react脚手架create-react-app学习笔记

Tao

React

迈入 8K 时代,AI 驱动超高清 “视” 界到来

阿里云视频云

阿里云 高清视频 视频处理 视频制作 视频云

人类高质量程序员如何过七夕?

InfoQ写作社区官方

话题讨论

高可用架构(上)

编号94530

微服务 数据库设计 架构设计 高可用架构 高可用集群

从 async 和 await 函数返回值说原理

devpoint

Promise Async 8月日更

解读区块链技术在中小企业中的4种常见用例

CECBC

滚雪球学 Python 第三轮,Python Web 之 Django 的世界

梦想橡皮擦

8月日更

oVirt Exporter 监控

耳东@Erdong

Prometheus exporter 8月日更 oVirt

【前端 · 面试 】HTTP 总结(十)—— HTTP 缓存应用

编程三昧

面试 8月日更 HTTP缓存

链路压测中的支路问题初探

FunTester

性能测试 测试框架 压力测试 全链路压测 测试开发

Flink的DataStream API(v1_7)(五)

Databri_AI

flink 并行 函数

套接字

一个大红包

8月日更

JNI不正确的信号处理导致 JVM 崩溃问题分析

毕昇JDK社区

合并两个有序数组

Memorys

Java 面试 算法

如何利用 Apache APISX 提升 Nginx 的可观测性

API7.ai 技术团队

nginx 开源 网关 APISIX

前端之数据结构(七)堆

Augus

数据结构 8月日更

创建型设计模式之单例模式

卢卡多多

设计模式 单例模式 8月日更

AlertManager 告警发送频率探究

greatersecurity

惨遭泄密!阿里P8大佬的架构笔记外泄:微服务分布式架构实践手册

Java 编程 架构 面试 架构师

SpringSecurity+JWT实现前后端分离的使用

4ye

Java 后端 springsecurity JWT 8月日更

保险污名化?区块链赋予保险的「四个机会」

CECBC

书山有路,AI为径:科大讯飞如何在智能教育硬件赛场突出重围?

脑极体

【设计模式】享元模式

Andy阿辉

C# 后端 设计模式 8月日更

Redis

ltc

redis

【SpringCloud技术专题】「原生态Fegin」打开Fegin之RPC技术的开端,你会使用原生态的Fegin吗?(中)

洛神灬殇

SpringCloud OpenFegin Fegin 8月日更

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