50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

彻底搞懂React-hook链表构建原理

夏天的味道123

React

为啥不适合,依然有很多人大张旗鼓搞企业内部开源?(下)

laofo

研发效能

webpack模块化的原理

Geek_02d948

webpack

火山引擎DataTester :让字节“跳动”起来的A/B实验平台

字节跳动数据平台

大数据 火山引擎 A/B 测试

人工智能自然语言处理之Transformer阐述

XiaoChao_AI

人工智能 自然语言处理 Transformer 11月月更

【鲲鹏BoostKit】OminiRuntime ——高效统一的大数据分析Runtime底座

极客天地

深入分析React-Scheduler原理

xiaofeng

React

vue3实战-完全掌握ref、reactive

yyds2026

Vue

Nodejs+Redis实现简易消息队列

coder2028

node.js

js作用域、作用域链和它的一些优化

hellocoder2029

JavaScript

简单两步,使用 cache 加快极狐GitLab CI/CD 构建速度

极狐GitLab

DevOps CI/CD cache runner 极狐GitLab

网易数帆加入星策社区,携手推进企业智能化转型进程

星策开源社区

开源 AI 开源社区 企业转型 数智化转型

个保法一周年:APP监听?算法为洪水猛兽?看看专家如何解读

科技热闻

Element UI 省市区数据联动

源字节1号

微信小程序 软件开发 前端开发 后端开发

Vue虚拟dom是如何被创建的

yyds2026

Vue

webpack热更新原理(面试大概率会问)

Geek_02d948

webpack

深度讲解React Props

夏天的味道123

React

人工智能机器学习之Bagging算法

XiaoChao_AI

人工智能 机器学习 11月月更

几个你必须知道的React错误实践

xiaofeng

React

Nodejs:ESModule和commonjs,傻傻分不清

coder2028

node.js

全国信安标委杨建军秘书长一行莅临青藤,调研指导网络安全标准和产业工作

青藤云安全

网络安全 青藤云安全

蜂巢再获权威认可 | 一个被甲方、乙方都认可的测评

青藤云安全

网络安全

Spring框架中都用到了哪些设计模式 ?

千锋IT教育

人工智能自然语言处理之数据增强去噪类别不平衡模型轻量化

XiaoChao_AI

人工智能 nlp 数据预处理 11月月更

同事每天早下班,原来是用了这8个开发工具

慕枫技术笔记

后端 开发 11月月更

升级到React-Router-v6

xiaofeng

React

vue中的几个高级概念

yyds2026

Vue

webpack配置优化,让你的构建速度飞起

Geek_02d948

webpack

Nodejs相关ORM框架分析

coder2028

node.js

深度理解Redux原理并实现一个redux

夏天的味道123

React

人工智能机器学习之Boosting算法

XiaoChao_AI

人工智能 机器学习 11月月更

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