我为什么弃用Objective-C而选择RubyMotion?

Hendrik Mans是德国汉堡市的一名程序员,他从事iOS开发已有很长一段时间了,起初他一直使用Objective-C语言进行编程而忽视了RubyMotion。从前他认为 RubyMotion只是个介于Ruby和Objective-C之间的交叉编译器,但后来他发现自己完全错了,现在Hendrik已彻底改变了自己的想法。

关于Ruby语言

Hendrik以前不仅从未用过 Ruby,还没少嘲笑过它。而现在Hendrik却认为,Ruby绝对是一种有着清晰漂亮语法的编程语言。Ruby是一种让你灵活机动的编程语言。

有时我们可能会对某种语言嗤之以鼻,然后说:“我绝不会在这种语言上浪费时间。”但Ruby一定不会让你这么说。Ruby强大的元编程特性能够帮助建立 领域专用语(DSL);Ruby精炼的语法能帮助我们有效解决一些特定问题和处理许多复杂问题的细节。更重要的是,Java、PHP、Perl以及Objective-C都不具备的,而Ruby具备的特征是:Ruby有一群追求完美的铁杆粉丝。Ruby程序员们选择Ruby,意味着他们不仅仅选择了一种编程语言,还选择了一种生活方式。Ruby粉丝们所追求的是一种极简的、精致的编程体验。

RubyMotion的优势

RubyMotion是完全由Ruby语言编译的二进制实现,它基于iOS构建并直接与iOS API封装,开发者可以访问所有公开的iOS API,也可以使用第三方的Objective-C库和Gems。RubyMotion能够让Rails开发者编程时感到得心应手。 

Rake是RubyMotion的创建和执行工具,它的程序是在 REPL环境下执行的。应用程序可在iOS模拟器上运行,RubyMotion提供一个交互式的Shell用来即时编码和调试,能够方便地实现交互式检查和修改。

Hendrik对于RubyMotion是这样评价的:在iOS开发方面,RubyMotion的核心思想是用优美的Ruby语言代替丑陋的Objective-C语言。

RubyMotion为Ruby程序员(尤其是那些因Objective-C和Cocoa Touch犯难的Ruby程序员)提供了一个iOS开发的入口。尽管RubyMotion诞生还不到一年的时间,但它为使用Ruby语言进行高效开发提供了很大便利。

RubyMotion的劣势

1. 不提供免费版本。许多开发者不愿尝试RubyMotion多半是因为它不免费,尽管199美金的价格物有所值,但是开发者们往往需要先体验产品,再考虑付费购买。如果未来RubyMotion能够提供免费或试用版本,将会吸引更多的开发者前来参与。

2. 缺少Ruby高手。正因为RubyMotion比较年轻,所以RubyMotion社区( RubyMotion community)缺少Ruby编程高手,社区中许多开发者的作品都比较简单,比较初级。

3. 不能彻底摆脱Xcode。使用RubyMotion还是需要Xcode提供的SDK、模拟器以及数字签名功能,只不过不需要全程使用Xcode,尤其是在撰写代码的时候。

正确看待RubyMotion

在一些苹果开发社区中,我们时不时会看到一些污蔑RubyMotion的言论。如果你经常浏览 HackerNews上对于RubyMotion的讨论,你会很容易发现人们对RubyMotion不加遮掩的蔑视。

Rails也好,RubyMotion也好,都是前辈们呕心沥血的作品,是从知识、代码、编程技巧等多个层面的经验总结,他们的目的无非是帮助大家用更精炼的代码进行编程,使得程序开发更为简便。所以对于新兴的编程语言、工具,大家大可不必投以藐视的态度,这也是对前辈们劳动成果的一种尊重。

总结

去年8月, RubyMotion创始人Laurent Sansonetti在接受CSDN记者采访时说:“为什么开发者应该使用RubyMotion?俩字:简单。如果你会Ruby,知道Rake,知道一些常用命令,接下来只需了解一下iOS的API,就可以着手开发iOS应用了。”

那些经验丰富的、充满智慧的程序员们发明了各种编程语言和开发工具,我们只是在他们的基础之上编写应用,这让我们轻而易举地就站在了巨人的肩膀上,何乐而不为呢?

诚然,RubyMotion和Objective-C都各有利弊,我们需要做的不是过度偏激地评价,而是选择一种最适合自己的编程语言罢了。

转载于:https://www.cnblogs.com/tsemba/archive/2013/02/28/2937341.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值