写点什么

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

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

关注

评论

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

网络入门(基础知识和网络整体的认识)

雪芙花

c c++ 10月月更

【kafka原理】消费者提交已消费的偏移量

石臻臻的杂货铺

kafka Kafka实战 10月月更

鸿蒙开发实例 | 分布式涂鸦

TiAmo

华为 华为云 云开发 10月月更

Node.js入门

Studying_swz

Node 10月月更

数据湖(七):Iceberg概念及回顾什么是数据湖

Lansonli

数据湖 10月月更

DevOps|从特拉斯辞职风波到研发效能中的荒唐事

laofo

DevOps cicd 研发效能 持续交付 敏捷研发

极客时间运维进阶训练营第一周作业

9527

Kafka消费者JoinGroupRequest流程解析

石臻臻的杂货铺

kafka Kafka实战 10月月更

成功建设私有云需要考虑这些关键点

阿泽🧸

私有云 10月月更

一文带你入门微服务,通俗易懂

wljslmz

架构 微服务 10月月更 单体服务

在线问题反馈模块实战(十)​:实现图片预览功能

bug菌

springboot 项目开发 10月月更

在线问题反馈模块实战(十一)​:实现图片下载功能

bug菌

springboot 项目开发 10月月更

2022-10-21:你将得到一个整数数组 matchsticks ,其中 matchsticks[i] 是第 i 个火柴棒的长度。 你要用 所有的火柴棍 拼成一个正方形。 你 不能折断 任何一根火柴

福大大架构师每日一题

算法 rust 福大大

Ubuntu 设置中文语言环境

Yeats_Liao

ubuntu 后端 10月月更

HashMap源码分析(四)

知识浅谈

hashmap 10月月更

【LeetCode】下一个更大元素单调栈Java题解

Albert

算法 LeetCode 10月月更

“程”风破浪的开发者|一文GET钉钉连接平台

六月的雨在InfoQ

学习方法 钉钉宜搭 10月月更 “程”风破浪的开发者 钉钉连接平台

Spring IOC和AOP

Studying_swz

spring 10月月更

0:数据库的产生-MySQL

Yeats_Liao

数据库 后端 10月月更

Photoshop软件应用项目(四)

张立梵

设计师 ps 10月月更

Photoshop软件应用项目(五)

张立梵

设计师 ps 10月月更

Docker常用命令小记

程序员欣宸

Docker 容器化 10月月更

【Java深入学习】一个关于“锁”的程序-中

Geek_65222d

10月月更

【web 开发基础】PHP 快速入门(6)-PHP 运算符之赋值运算符详解

迷彩

10月月更 web开发基础 PHP基础

C++精通之路:设计模式(特殊类设计)

雪芙花

c c++ 10月月更

从源码分析MGR的新主选举算法

乌龟哥哥

10月月更

【微信小程序】带你进入小程序的世界

hacker707

微信小程序 10月月更

使用 SAP Business Application Studio 创建 Fiori Elements 应用显示 OData 服务的数据

汪子熙

云原生 Cloud SAP 10月月更 btp

Glibc---_IO_do_write函数逻辑分析

桑榆

源码刨析 10月月更 C++

牛客刷题系列之进阶版(组队竞赛,排序子序列,倒置字符串, 删除公共字符,修理牧场)

雪芙花

c c++ 10月月更

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