ROR is Ruby on Rails. Ruby 眾所周知已經是一種非常出色的動態語言 It's dynamic language。Simple and easy.動態語言是解釋執行的,但性能上可能會打個折扣,但不是絕對的,因為應用是復雜的,性能是一種綜合性的,這個在一個流傳的測試中有回應。
按照Rails4Days.pdf
1.安裝和配置出奇的簡單。
安裝完ruby182-14.exe,就用gem來安裝rails。gem是ruby的install。gem install rails 就可以了。在回答問題的時候選y。
2.要生成一個web應用更簡單。
ruby rails <目錄名>
一套web應用就生成了,配置一下數據庫。config/database.yml,看一下就知道配置。
MySQL要准備好,再創建數據表。
3.代碼生成
ruby script/generate <類型> <名稱>
MVC都能生在,框架也可以,還有WebServices
http://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更強了。