分享 RubyMotion - Ruby 写 iOS 应用

huacnlee · 2012年05月04日 · 最后由 zangcw 回复于 2013年05月31日 · 11245 次阅读

http://www.rubymotion.com/

今天的热门话题啊

看了一下,要收费的,暂时无法试用的。有使用过的朋友,给点反馈?

好贵啊,900 多刀呢

@edokeh 人民币 900 多

在 macruby 基础上改的吧?

技术上比较犀利,市场上来讲可能就不那么犀利了啊。 手机开发,不仅仅是语言熟悉就可以的,还有工程师处理手机上的各种问题的能力啊,我总觉得靠谱的应用还是得原生态的,原生态的工程师可能对解决手机问题的经验更丰富一些的。 如果他能把常见的经验问题包装成类库,让 ruby 程序员直接获得原生态的经验,那么还是有价值的。

官方说 RubyMotion 是基于 MacRuby 上,加入了自己的技术。这么说的话,RubyMotion 的技术如果能反馈给 MacRuby 项目,那么对 "使用 MacRuby 开发 iOS 应用" 是一个很好的促进。

看了这个页面我觉得很靠谱哇:http://www.rubymotion.com/features/

Fast, as in Objective-C
Ruby has a reputation of being a slow language, due to problems in its historical implementation. Make no mistake, RubyMotion is not slow. Quite the contrary.
RubyMotion compiles Ruby and activates a load of performance optimizations, such as inline method caching, immediate fixed and floating numeric types, zero-cost exceptions, promotion of variables into CPU registers, cached constant lookups, tail-call optimization, dead code elimination, and many more.
RubyMotion makes Ruby as fast as Objective-C, if not faster in certain cases. RubyMotion apps start as fast as Objective-C ones and use the same amount of memory.
Your app will be so fast your fingers will be delighted.


而且开发流程和 Rails 相似。

类似的还有 http://mobiruby.org/ http://www.macruby.org/ 有谁写过 IOS 的,可以分享一下心得吗?

#8 楼 @JeskTop MacRuby 现在还不能用来写 iOS 应用。MobiRuby 还为时过早~,感觉只是雏形而已,况且 MobiRuby 依赖的 mruby 还没到稳定版本呢。

匿名 #10 2012年05月04日

看了官网介绍,确实是好东西,要是开源就好了 :)

其实我想知道这东西在用到反射或者线程的地方的话,用的是 ruby 方式还是 obj-c 的方式 比如下面的 obj-c 的代码

- (void)contentFinder:(ContentFinder *)contentFinder didFindContent:(NSDictionary *)jsonData {
    [self doesNotRecognizeSelector:@selector(contentFinder: didFindContent:)];
}

技术没什么新鲜的吧,macruby 早就想这么做了 (把 jit 改成 ngen, GC 完全用 ARC 就可以了)

可以开 repl 编程很方便,但 xcode 的 lldb repl 已经很不错了

没 xcode 敲巨长的 cocoa 函数名有难度吧 ⋯⋯

做 android 还是用 java,做 iphone 还是用 object-c 吧,不然,痛苦会随之而来,更关键的是,当你想找个工作 ....

这语法看起来不是太 ruby 啊

看起来挺好的。 没 XCode 写函数名有些困难。 基本所有的 Gem 都不能用,要用 cocoapods stdlib 也不能用。

社区积累估计不太行。 如果能出个试用版(比如不包含发布的功能)让大家先玩儿玩儿就好了。

#12 楼 @night_song 希望 RubyMotion 能和 XCode 集成起来。不然用手写 GUI 代码和那些超长的函数名,如果没有智能提示的话,基本都得吐血 :(

这玩意嘛时候出一本书就好了

#16 楼 @skandhas 还是趁早打消这个念头比较好.. 寄生于别人平台的二奶语言基本都有这个问题..跟原生平台的交互会很痛苦 (反过来会更痛苦).尤其是 Ruby 还是动态语言..活学活用 oc 吧.. xcode 对 oc 的支持已经很好了。

观望...

我是 iOS 开发者,我表示对这货不看好(而且还收费),虽然 Ruby 很好。。。

一样不看好,ios 很多比较重量级一点的应用,或者游戏都是用 C++ 来开发的,不只是 ruby 就能解决的。oc 都解决不好的问题,C+ 来解决了。所以啊 ruby 在 ios 上不靠谱。踏踏实实的用 oc 做 cocoa 开发最靠谱。

学 OC 又不是多难,OC 相比于 JAVA VC,OC 已经是静态语言中的战斗机了,免费还可以尝鲜,900 多刀就木有必要了

匿名 #23 2012年05月04日

@danoyang OC 是编译型语言,但基本上已经算动态语言。静态的是 C, 动态的是 smalltalk 的对象模型。

#18 楼 @Saito 同意~ 没有 Apple 官方的支持,第三方平台的不确定性很大,如果是在产品开发中使用的话,需要慎重。尝鲜的话倒是可以,如果它免费的话 :)

#23 楼 @nil 对 OC 的分析很到位阿:)

不是能用那么简单。不只是语言。还有配套的环境。家里穷,买不起苹果的东西。玩了玩 android,ruby 在 android 上的开源 ruboto。虽然能跑,但是,调试,API,性能等都不好。。。。。这玩意,不是说能用就行了。。。还要考虑一堆东西。。。。ruboto 的 scrot 还让我也搞搞 rubuto 的 debug 呢。。。但我实在是对 java 无爱啊!!!!!!!!!!

还是用 oc 吧,xcode 很良心了

这个是 RubyMotion 的样例视频,对于了解 iOS SDK 的同学,用 ruby 来写,确实减少很多代码量,现在主要担心关于第三方的 Lib 兼容问题。 http://pragmaticstudio.com/screencasts/rubymotion

Laurent Sansonetti: Creator and developer of @RubyMotion and @MacRuby.

去看看 macruby 吧。其实写起来更麻烦。很多调用 cocoa 的库你都得转化一下。算了还是写 obj-c 吧。

#12 楼 @night_song 顶一下。xcode + obj-c 方便多了。还免费。还支持多。

等 mobiruby

价格有些贵

不折腾

#14 楼 @ywencn 同感,那命名太别扭了。

RubyMotion 收费怎么解决昵?门槛还是有点高。

感覺上還是在寫 obj-c

@huacnlee 正在笑而不语地看你们这些回复呢

@huacnlee 在用 rubymotion?

#16 楼 @skandhas 如果你用 sublime 的话 有一个 package for rubymotion auto-completion 的

#36 楼 @johnnyhg 前几天在巴黎的 Ruby 的 meetup 上刚见到过 Laurent 现在他的 startup 里就只有他和另外一个日本人两人在负责 rubymotion 这个 project 他说到目前为止 license 的策略很成功 他们准备壮大了 貌似下个月就有另外两个人入伙 我觉得这笔钱还是对得起这个工具的

推荐 Titanium,http://www.appcelerator.com 尤其是新出的 Alloy 框架,相当棒。

rubymotion 价格好贵啊 几个问题?1. 支持语法补全么?vim 插件?

  1. cocoapods 的库可以直接使用么?
  2. xib 和 storyboard 是否支持?
  3. coredata 是否支持? 用过的人回答下,我考虑下是否入手看看

@freemem Titanium 我们用过,javascriptd 写法和性能感觉不佳,我个人还是倾向原生开发。 考虑 ruby 也不会考虑 js

需要 登录 后方可回复, 如果你还没有账号请 注册新账号