首先給大家介紹一下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一書中所說:簡單就是美。因為我們的生活正在變得越來越復雜,我們的精力正在經受越來越嚴酷的壓力,時刻準備著大量的事情迎面砸來,所以很多時候”如何能夠簡化步驟完成任務“,遠比重量級、功能全面更加實用。