http://developer.51cto.com/art/200610/33171.htm
ROR is Ruby on Rails。Ruby眾所周知已經是一種非常出色的動態語言。It's a dynamic
language。Simple and
easy。動態語言是解釋執行的,但效能上可能會打個折扣,但不是絕對的,因為應用是複雜的,效能是一種綜合性的,這個在一個流傳的測試中有回應。
1.安裝和配置出奇的簡單
(真的很想提醒一下所有的java社區,充斥著各種架構的各個社區難道就沒想到install嗎?Everyone forgot to make
install?無論是J2EE,Spring,Hibernate,Struts等等,全部都沒有install。所有apache's
jakarta的項目,竟然都沒有install的,struts只有一個war,象一個demo,這種艱苦的環境會讓linux
fans笑倒的,ant和make都一樣,怎麼樣也不能叫install。)
安裝完ruby182-14.exe,就用gem來安裝rails。
gem是ruby的install。gem install rails 就可以了。在回答問題的時候選y。
2.要產生一個web應用更簡單
一套web應用就產生了,配置一下資料庫。config/database.yml,看一下就知道配置。
mysql要準備好,再建立資料表。
3.代碼產生
ruby script/generate <類型> <名稱>
|
MVC都能生在,架構也可以,還有WebServiceshttp://rubyonrails.org/show/Generators,還有產生器可以下載,實在得令人心寒。
當Hibernate3,EJB3還在那兒繞來繞去的時候,Spring,Hivemind還在那兒遮遮掩掩的時候,MDA和UML還在雲山霧照的時候,ROR已經實幹了。
可以代碼產生,CRUD只要一句話,可以說示範非常方便,產生的程式碼量非常小,改起來很方便,使用一段時間就覺得很貼近業務思路,或者說人類文法。展示層還是象大多數嵌入式指令碼,類JSP。但是由於是動態語言,非常精簡,實際上看上去比標籤精簡多了。
缺點:
◆大型應用是否支援?
◆有多少人支援?
◆效能?
總的來說,人們對ROR的擔心在於:能長久嗎?程式是否穩定?各項效能?
有一個效能測試,據說ROR>Hibernate+Spring+Struts , 居然還多15-20%。敢這樣說總有點來頭的,況且開發速度要>10倍以上。不過網址忘了,google上查一下就知道了。
被各種架構折磨了很長時間,突然發現這麼一個清新的東西,一直不習慣,怎麼能這樣呢?DAO總是要定義一個Base的,同一種find函數要寫十
個,現在怎麼能這麼簡單呢,簡單地都變成隨意了。find_all就行了?find(@params[:id])就直接從參數裡查詢出對象?從
Tapestry還要OO,比Hibernate還要ORM,這簡直是一種魔鬼。還能和C介面,關鍵業務放到C裡去。比MVC還要MVC,目前為止明顯的
問題還是美工無法分離的問題,因為這樣的代碼美工不可能來處理的。
對象與資料庫的串連更自然了,這讓我想起了Delphi,由於只有Borland在控制,Object Pascal得以很優美,VCL很完整,ruby也是這樣?
看上去ruby吸收了非常多的java社區的思想,這也是一種有活力的表現,如果這種勁頭保持下去,會象php一樣來傳染互連網。雖然php現在已經有老了的感覺,但由於一開始的清新空氣使它一直生存到現在。
ROR非常適合做應用,快速應用,這並不意味著不適合大型應用,目前因為還沒看到大型應用,不敢亂說,心裡也沒底。底層應用不知道是否適合,因為一般來說底層應用往往是中級語言的世界,象C之類,Ruby應該也可以port進來,不過直接做底層可能性不大吧!
想起了以前對Perl的形容,膠水,很貼切,本身好象做不了啥事,但可以迅速地粘起來一個東西來,如果膠水強度足夠,甚至粘出一個大廈。Ruby也象是這樣的膠水,現在在web方面比perl更強了。
(責任編輯 火鳳凰 sunsj@51cto.com TEL:(010)68476636-8007)