Java會因為RoR的流行而過時嗎?

來源:互聯網
上載者:User

  在四年以前,當我開始鼓吹Hibernate,抨擊EJB的時候,遭到的是群起而攻之的場面,但是不到一年之後,Hibernate已然得到了普及和大多數Java開發人員的認可。

  在三年以前,當我開始讚譽spring的時候,spring還面臨著EJB3的陰影,以及EJB2對其不登大雅之堂的指責,然而不到一年的時間,spring已經成為絕大多數Java開發人員的首選。

  在兩年以前,我極力希望宣傳webwork,唱衰JSF,時至今日,webwork以Struts2.0的身份容登大雅之堂,而JSF還在靠廠商死挺著。

  而當一年之前我開始採用RoR開發JavaEye的時候,RoR的置疑之聲還甚囂塵上,但當我在今年初預言07年下半年RoR在國內會被廣泛接受的時候,很多人已經笑不出來了。

  今年我預言些什麼呢?我覺得會是AJAX技術走出PC的時代,證據就是iphone,與此相關聯的事情就是REST架構的流行。

  但是這篇文章裡面我想談的卻不是我預言的水平準不準,而是想談Java真的會因為RoR的流行而過時嗎?目前在Web開發主要應用在兩個大的領域,互連網和公司專屬應用程式,我們分別來看一下:

  一、互連網領域

  互連網領域第一大動態語言是PHP,第二、第三分別是ASP和Java。在中小型互連網應用當中,PHP的王者地位不容動搖,但在大型應用當中,Java是目前主流的選擇,特別是電子商務類型的應用,例如阿里巴巴就從早期的PHP轉變到Java,從前的eachnet也是如此。造成這樣局面不是沒有原因的:

  1、中小型互連網網站強調開發速度,維護成本,以及入門快速和部署成本,PHP是最合適的選擇;用Java則顯得過於笨拙,開發慢,維護成本高,入門周期長,部署麻煩;RoR開發速度最快,維護成本最低,但是RoR入門速度沒有PHP快,部署成本比PHP高。因此中小型互連網網站主流還是PHP,但RoR能夠佔據一定的份額。

  2、大中型互連網站強調穩定性,效能,大規模代碼的組織能力,而開發效率則退居次要地位,有些應用如電子商務對事務有很高的要求,顯然Java是最合適的選擇;PHP的程式碼群組織能力最差,RoR次之。

  在互連網領域,Java從來就不是主流,並且Java的適用領域和RoR不太重合。我們甚至可以這樣說,RoR現在在互連網領域取代的是那些原本不適合用Java,但是被錯誤的選擇了Java的項目。

  二、公司專屬應用程式領域

  目前公司專屬應用程式領域第一大語言是Java,dotnet其次。公司專屬應用程式採用的技術和行業有很大關係:例如金融行業,電子政務行業一般只採用Java。dotnet發展了6年尚且沒有進入企業高端的應用,RoR在短期之內也很難取代Java的地位。

  在公司專屬應用程式領域,Java是主流,並且Java的適用領域和RoR也不太重合。我們也可以這樣說,RoR將來在公司專屬應用程式領域要取代的是那些原本不適合用Java,但是被錯誤的選擇了Java的項目。

  至此,我想Java程式員大可以鬆一口氣,RoR目前有哪些不適合的場合呢:

  1、對事務要求非常高的場合

  RoR還是很簡單的單資料庫事務控制,缺乏精細的事務控制功能,當然也不支援跨資料庫的分散式交易。因此對於事務要求嚴格的大型電子商務網站,部署複雜的分散式資料庫情境顯得力不從心。當然也許有些plugin可以提供這些功能,但是從目前的功能完備性和成熟度等級來看,還不夠。

  2、處理大量遺留資料庫的場合

  ActiveRecord的威力很大程度上來自約定,大量命名糟糕的遺留資料庫會對RoR造成比較大的障礙。

  3、龐大的項目團隊,對開發速度要求低的場合

  例如日本外包項目,團隊龐大,個體開發速度要求低。但是對於代碼規範要求嚴格的項目。

  雖然RoR不會取代Java,但不意味著作為程式員的你可以固步自封。即使在工作當中用不上RoR,多看一點新的技術,對於開闊個人視野也有很大的好處。

  備忘:RoR是Ruby on Rails的縮寫。Ruby on Rails是一個用於編寫網路應用程式的架構,它基於電腦軟體語言Ruby,給程式開發人員提供強大的架構支援。Ruby on Rails包括兩部分內容:Ruby語言和Rails架構。



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.