瞎扯淡 csdn 今日头条:做 iOS 开发,我为什么弃用 Objective-C 而选择 RubyMotion?

kehao · February 28, 2013 · Last by fsword replied at March 04, 2013 · 4809 hits

晚上回去看看

对哦,不提供试用的确让人不爽

有人用过 RubyMotion 吗,哥们就是做 iOS 的,和 objc 打交道也有四年多了。 有点习惯了 objc,现在学 ruby 有点生涩,下周准备 rails 了 之前看过 rubymotion 的例子,毕竟不是原生,做 app 费劲的多,所以没打算转,只用 ruby 做做 server 就行了,呵呵,就这点追求了 以后遇到不懂,还请前辈们多多指教!

不过听了 teahour 的第四期之后忽然对 rubymotion 没那么大的冲动了,因为就算有 rubymotion 你很多时候还是要和 obj-c 打交道,很多资料或者文档还都是 obj-c 的,还要学 obj-c 还要熟悉 rubymotion 无疑增加了学习成本,不如直接用 obj-c 了,坐等 rubymotion 有杀手级别的 gem 或者比较吸引人的 feature 的时候再入手。
分析下文章里面说的几个优势。

  1. 性能。能和原生的一样其实不算是优势,只能说这是和 obj-c 竞争的必须条件
  2. 方便的 shell 调试工具,这是唯一我觉得值得称赞的东西,对于 rails 程序员来说这个 console 很亲切,功能很强大,具体视频可以看我之前发的一个关于 rubymotion 的帖子里面有视频。
  3. 语法简洁。话说 obj-c 的语法虽然相比 ruby 来说长的有点变态了,但是有 xcode 这种变态的 ide 配合,再长的 code 也只需要按几下 tab 就解决了,所以这不是什么太烦人的问题。
  4. 学习成本。并不能让 rubyist 完全不学 obj-c 和 cocoa,除非你只开发超级简单的 app.所以这点不是优势。
    so 综合以上几点我的建议是还是观望,等真的有让 rubyist 心动的 feature 出来的时候再入手也不迟。

#4 楼 @sailtsao 这两周正在试用,我的感觉

1、性能不提,开发效率比 objc 高

2、shell 工具没有 rails 那么强大,功能有限,目前只能通过点击页面的 UI 元素来选取对象(不太好选),或使用 AppDelegate 等全局可以读取的东西,也许我使用方法不对?但调试简单代码,尤其是试验一些 api,有 shell 要方便得多

3、长语句输入其实不是问题,比如 sublime text 也有针对 rubymotion 的代码提示插件,基本够用。rubymotion 的好处是可以简化语法、不用太操心对象类型、不用在 h 和 m 文件里折腾、不考虑 strong、retain、weak 之类的问题。语法精简以后,可读性更好

4、cocoa 的学习不管是用 objc 还是 rubymotion 都是一样的,只需要简单了解 objc,就可以在两种语言间转换,这个体验就好像 javascript 和 coffeescript。这个转换非常容易,我在拿到 rubymotion 的第一天看了看文档,第二天就开始重写之前的小程序了,没有什么额外的学习成本,目前也没遇到什么 rubymotion 特有的坑

5、rubymotion 的最有价值特性还是源自 ruby 元编程,靠 DSL 把复杂的操作变得非常简单。目前已经有一些 rubymotion 的 wrapper(http://rubymotion-wrappers.com/) 可以与 objc 对比来看。比如 AFNetworking vs AFMotion,AFMotion 简洁的要死。比如 bubble-wrap 和 sugarcube,把大量常用功能都封装起来。再比如 MotionModel,虽然我还没试用,但是看文档描述,已经可以秒杀 objc 下任何相关项目了

我认为 rubymotion 很有前景、非常值得一试 IOS 开发火了这么几年,也没一个可以让人快速开发的框架出现,将来很可能会由 rubymotion 实现

我到想知道在 android 开发上有没有人做过类似的事情

一直在用 Rhomobile,开发效率一流,性能不能跟原生的比

You need to Sign in before reply, if you don't have an account, please Sign up first.