速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

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

关注

评论

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

软件测试|Python基础之包的使用和软件开发目录规范及常用内置模块

霍格沃兹测试开发学社

AI和语言翻译:跨文化交流的帮手

测吧(北京)科技有限公司

测试

HarmonyOS应用开发Web组件基本属性应用和事件

HarmonyOS开发者

HarmonyOS

SpringBoot拦截器和动态代理有什么区别?

王磊

Java Java面试题

单元测试|Unittest setup前置初始化和teardown后置操作

霍格沃兹测试开发学社

软件测试|Python基础之面向对象(二)

霍格沃兹测试开发学社

OpenHarmony系统能力SystemCapability使用指南

OpenHarmony开发者

OpenHarmony

站群服务器租用:为您的多站点网络提供支持

一只扑棱蛾子

站群服务器

软件测试|App自动化之Appium工作原理

霍格沃兹测试开发学社

软件测试|Python基础之面向对象(三)

霍格沃兹测试开发学社

软件测试|Python内置模块使用(一)

霍格沃兹测试开发学社

软件测试|Python基础之数据库

霍格沃兹测试开发学社

TiDB Serverless Branching:通过数据库分支简化应用开发流程

TiDB 社区干货传送门

如何用华为云ModelArts平台玩转Llama2

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号9月PK榜

AI和社交媒体:改变信息传播的方式

测吧(北京)科技有限公司

测试

云起无垠参编的《软件物料清单(SBOM)发展洞察报告》正式发布

云起无垠

软件测试|Python基础之模块导入和使用

霍格沃兹测试开发学社

软件测试|MySQL安装最全教程

霍格沃兹测试开发学社

使用br工具备份到local的一些操作

TiDB 社区干货传送门

迁移 备份 & 恢复 6.x 实践

达梦数据库接入案例—基于EntityFrameworkCore 6.x

为自己带盐

.net core 达梦 EFCore

Arbitrum公链系统开发丨ARB链代币质押挖矿系统开发

l8l259l3365

Pyth

软件测试|Python基础之面向对象(四)

霍格沃兹测试开发学社

通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库

软件开发中的资料整理与归档,软件产品开发文档合集

金陵老街

项目管理 文档管理软件

AI和语音助手:智能助手的展露头角

测吧(北京)科技有限公司

测试

AI和安全性:网络安全的挑战与机会

测吧(北京)科技有限公司

测试

软件测试|TCP三次握手四次挥手

霍格沃兹测试开发学社

软件测试|Python内置模块使用(二)

霍格沃兹测试开发学社

AI和智能家居:打造智慧生活

测吧(北京)科技有限公司

测试

迎产业东风,柔性电子供应链企业的机会与挑战

华秋电子

PCB

干货 | Elasticsearch Java 客户端演进历史和选型指南

腾讯云大数据

ES

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