rubymotion.png

迁移代价

一开始我以为 RubyMotion 只是一个 ruby 到 object c 交叉编译器,后来发现我完全错了。

RubyMotion 应用本质上与Objective-C, Swift 和 Java 开发的应用是一样的,因为他们基于同一套运行时技术,并都被编译成经过优化的机器代码。 你可以在 RubyMotion 项目中使用目标平台提供的 全部 API。

这一点确是太重要了。

  1. 对于 APP 开发老手而言,从已熟的平台(ios, android)上迁移到 RubyMotion 的成本仅仅只是个 ruby 语法而已, 而 ruby 语法又是非常简单和语义化的,可以参见 Ruby in Twenty Minutes
  2. 对于本身就是 Ruby 使用者而言,在开发 APP 的时候,并不需要将各平台的开发语言全部学会,你只需要熟悉对应平台的 API 手册即可。

对于大多数应用而言,熟悉 API 手册足以应付,通常情况下是很少有人去修改开发语言类库的,只要能看懂对应语言的代码例子,将其翻译成 Ruby 风格即可 (因为 RubyMotion 还很年轻,优秀的库还不够多,你会有使用到原生语言的插件或类库)。

其实 RubyMotion 在引入第三方库方面已足够出色,像平时大家使用的 cocoapods 在 RubyMotion 也可以照应使用,几乎一模一样, 在此感谢下 motion-cocoapods 这个 gem. 所以你大可放心,其他语言的优秀插件将是你最大的保障。

使用文本编辑器

以前写 Java ,使用 Eclipse, 那真是太卡了,时不时 crash , 一关一开,浪费时间不用说,关键让人很不爽,这一点对于有多年开发经验的人,自然有所体会, 后来用 xcode 也是相似感觉。

现在所有 IDE 都感觉是一路货色,没有文本编辑器来的清爽和自由,目前我主要使用的是 Sublime, 个人感觉文本编辑器加上一些插件, 开发速度真心不比 IDE慢,毕竟我们大量时间花费不是 typing 而是设计和思考 。

感觉很少有人用 文本编辑器 写 oc 或 java 吧,但是写 ruby 就不一样, 基本都是使用文本编辑器的,所以这一点很好达成共识,一个团队都能很快统一开发工具。

可能有人会说,使用文本编辑器 怎么使用 storyboard 啊?

Storyboard 确实不好使用,但并不是不能,随便 google 即可找到方案。 但是我想说,我们并不需要 storyboard, 因为我们全部手写。对,没错,就是手写。

手写 UI 至少有2个好处: 1. 团队协作避免冲突 2. 能胜任复杂布局。

既然如此为啥不一开始就学着手写 UI 呢? 感觉大牛都喜欢手写的样子 :smile:。

开发效率

RubyMotion 可以允许你使用 ruby 中常见的基础库,而且调用方式一样,像处理 Array, Hash, String, 迭代器, 那真的不要太爽。 具体可以参见 ruby 语法,想想写 OC 和 Java,对于初学者 各种变量声明,类型转换,方法调用,那真是泪流满面。

关于费用

RubyMotion 目前并不免费,而且价格还不便宜,详情请点击 价目表

很多人看到这个价目表的时候,傻眼和犹豫了,心里总想着,一年这么多钱,值不值得,什么时候可以收回成本之类?

我和同事都觉得 收回成本 这个想法本身就不对,就像你购买了好用软件,使用起来舒服就是了,难道你还期望它,让你舒服了,又让你赚钱? 赚钱与否只于你写的代码好坏,idea 有关,与使用 OC和 RubyMotion 无关, 如果真正它让开发你提高了效率,让你写着舒服,那就是它的最大价值所在, 如果真是这样,请多使用它,实在无爱,一个月之内退款即可。

我看到太多的人,买了,却一年都没怎么使用,最后还来句这个东西有多么坑,又贵,又没用, 想想是有多么悲剧。

总结

RubyMotion 还很年轻,我们需要多一些热情和耐心,我相信它是一个不错的产品,是智慧的结晶,绝对不是一帮人骗钱,玩票性质。所以即使你不使用,请不要轻易蔑视它。其实

我们需要做的不是过度偏激地评价,而是选择一种最适合自己的编程语言罢了.