登录站点

用户名

密码

用Ruby开发iOS本地应用的最佳实现:RubyMotion

已有 74 次阅读  2012-05-21 16:39   标签开发 

最近一段时间移动开发界冒出了四大势力,他们同出自Ruby门下,分别是:MRuby、MobiRuby、RubyMotion以及Ruboto。其中,MRuby由Ruby之父主持并得到了日本政府支持;MobiRuby是基于MRuby的新兴势力野心很大;Ruboto瞄准Android平台;而RubyMotion目前风头正劲,反响最为强烈,相信订阅了RubyMotion邮件列表的读者应该会印象比较深刻。(CSDN也曾对MobiRuby有过报道

图片来源:WordPress

当然说RubyMotion是最佳的Ruby on iOS的实现还为时过早,但是至少就目前的表现来看,Matt Aimonetti,一位livingsocial软件架构师、资深的开源软件开发者和Web工程师、O'REILLY图书《MacRuby》作者,在体验过了MRuby、MobiRuby和RubyMotion之后,大赞RubyMotion。为什么?Matt列举如下理由:

图片来源:flazx.us

Objective-C不是Ruby

相信即使是很小众的语言也会有一些死忠,就不用说Ruby这种Rock Star。Objective-C很好,但是它不是Ruby,Ruby的死忠们觉得它不够顺手、不够灵活、有时候却很诡异。

基于MacRuby 互惠互利

在于Objective-C的斗争中,MacRuby诞生了。MacRuby的类就是Objective-C的类,而且执行的很好。MacRuby直接催生了RubyMotion,Matt称所有之前在MacRuby下的功夫都会在RubyMotion上开了花,前者的所有概念均适用于后者。

REPL/Interactive shell

RubyMotion目前缺少debugger,但是有一个REPL。Matt认为这个特性在debugging应用和学习Cocoa API的时候非常有用。在虚拟机里点击一个虚拟元素,就可以在终端下实时修改类,并在虚拟机中立刻看到效果。

不依赖于Xcode

Xcode经常崩溃,界面复杂,而且对MacRuby从来就支持不好。Matti在这里反讽了Xcode开发团队,称他们每次更新Xcode都在帮助其破坏MacRuby。而RubyMotion不依赖于Xcode,于是这个问题就这么解决了,是的就这么解决了。

图片来源:BlogSpot

不用费心去做内存管理

至少一般情况下RubyMotion的开发者不用去在意内存管理这种东西。

当然,作为一个新兴的、非原生的iOS开发语言,你不能完全依靠它来进行开发,很多Cocoa的API不能访问,没有Xcode支持,没有IDE,所有的UI代码都要手写,没有Debugger,缺乏明确的目标听众以及缺乏完善的文档支持。但是并不妨碍目前它在所有Ruby家族语言里,作为iOS开发的最佳角色。

上一篇: C语言深入浅出 :回味经典 下一篇: 微软低调推出So.cl社交网络

分享 举报