Rails如今的問題是:1/2的人擔(dān)心它會變成Java,而另一半人正在努力把它變成java
我希望,也相信,Ruby on Rails社區(qū)會越來越成熟,能夠充分的反省,在Web開發(fā)中引入正確的架構(gòu)分層,而不需要再發(fā)明一個類似企業(yè)級Java Bean這樣的東西。隨著即將到來的蘇格蘭Ruby大會上Rails六邊會談,我們的信心更加增強;還有Avdi Grimm的Objects on Rails 和Steven Baker的Solid Rails都在推動改革的發(fā)展。
YARV現(xiàn)在是當(dāng)前Ruby 1.9.x的官方的解釋器,相當(dāng)于Matz的最初的Ruby解釋器,它在性能上有了巨大的提升。
JRuby是當(dāng)前最成熟,最廣泛被用來替代YARV的Ruby解釋器,開發(fā)團(tuán)隊一直在持續(xù)不斷的更新它。它把所有Java虛擬機(jī)的優(yōu)勢都帶給了Ruby,即時編譯,訪問豐富的Java庫,跟老的Java程序進(jìn)行交互,真正的、本地的多線程。這最后一點更是重要,它讓Ruby有能力來利用多核服務(wù)器進(jìn)行大規(guī)模服務(wù):使用多線程來更好的利用內(nèi)存,而不是生成新的進(jìn)程。
Iron Ruby,.Net框架上的Ruby實現(xiàn),雖然并沒有受到微軟官方的直接支持,但仍然不斷的在進(jìn)步。
Rubinius是一個用Ruby寫成的Ruby(算是吧)。盡管早期有不少挫折,經(jīng)過重大的重寫,Rubinius現(xiàn)在處于穩(wěn)定的改進(jìn)中。它現(xiàn)在正朝著實現(xiàn)完全多線程的版本2前進(jìn),這一版本中將去除Global
Interpreter Lock。
Maglev是一個基于VMWare的 GemStone/S 3.1 虛擬機(jī)上的Ruby實現(xiàn),它允許分布式的和持久性的Ruby對象。社區(qū)里的人對它的認(rèn)識來自于它早期的曝光:在2008年RailsConf大會上的首秀讓它光芒四射,但隨后幾年卻變得悄無聲息。
MacRuby,RubyCocoa的繼任者,是一個1.9版的Ruby的實現(xiàn),但卻是基于OS X內(nèi)核技術(shù)的。對于 Ruby on OS X 來說最大的問題相同的代碼不能運行在 iOS (iPhone / iPad)上,這就是為什么最近的Ruby in Motion誕生的原因,它是基于MacRuby的,但完全兼容iOS App Store,這是一種讓人興奮的技術(shù)。
MRuby有兩原因使我們需要在這里提它一下:他是Matz自己的項目,它是由日本政府資助的。它是一個Ruby的輕量級實現(xiàn),設(shè)計用于和Lua語言相似的領(lǐng)域。日本人很可能會是使Ruby嵌入到電子設(shè)備成為可能并興起的重要力量。
Ruby的首次出現(xiàn)距今已有17年,Rails的誕生已有8年,Ruby社區(qū)仍然是一個令人興奮的地方??粗?dāng)前的各種活動,各種變革,各種成果,這是我以前從未見過的繁榮景象。