首先给大家介绍一下Ruby的发展史:Ruby诞生于1993年,那个时候甚至连传统互联网都不是“那么”的普及。Ruby的理念是:
减少编程时候的不必要的琐碎时间,令编写程序的人高兴,是设计Ruby语言的Matz的一个首要的考虑;其次是良好的界面设计。他强调系统设计必须强调人性化,而不是一味从机器的角度设想。
via 维基百科
这正契合了移动开发的特点:人性化、轻量级、快速开发。在Ruby的基础上,Matz开发了mruby,并在2012年4月20日进行发布。根据作者官方介绍:mruby是一款轻量级的Ruby实现,遵循ISO标准。它可以以解释的形式或者在VM上编译和执行形式运行。
图片来源:bounceweb
MobiRuby 取代Objective-C的野心
前面铺垫了这么多,现在我们再来谈MobiRuby就轻松多了。MobiRuby脱胎自mruby,类似于Lua、mruby,可以在几乎任何设备上运行,对语言进行了精简,试图使得编程更加快速和简单。但是比起前辈来,却更加野心勃勃。作者宣称MobiRuby的目的就是:在移动平台上取代Objetive-C/C/Java。MobiRuby并非像Ruby那样基于GPL协议和Ruby License,而是采用了更加宽松的Apache License 2.0,之前Android闭源事件的讨论中,CSDN也特别对这两个协议之间的区别进行了简单的阐述。
世界正在变得越来越平,和轻
世界已经平的像一块手机屏幕了,而很多人还妄图让它变得更轻,来看一段实例代码,我们就能体会出MobiRuby到底有多轻了:
UIAlertView
1. class NSString < Mobi::Cocoa::Object
2. end
3.
4. class UIAlertView < Mobi::Cocoa::Object
5. end
6.
7. def _S(str)
8. NSString._stringWithUTF8String str
9. end
10.
11. alert = UIAlertView._alloc \
12. ._initWithTitle _S("Hello"),
13. :message, _S("I'm MobiRuby"),
14. :delegate, nil,
15. :cancelButtonTitle, _S("I know!"),
16. :otherButtonTitles, nil
17. alert._show
移动改变了我们的生活,也改变了很多人看待事物的眼光。正如The Art Of Unix Programming一书中所说:简单就是美。因为我们的生活正在变得越来越复杂,我们的精力正在经受越来越严酷的压力,时刻准备着大量的事情迎面砸来,所以很多时候”如何能够简化步骤完成任务“,远比重量级、功能全面更加实用。