一個Java程式員的Ruby on Rails體驗

來源:互聯網
上載者:User

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應用更簡單

ruby rails <目錄名>

一套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)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.