<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的Blog我做主^_^

    走向一條通往JAVA的不歸路...

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      64 隨筆 :: 68 文章 :: 77 評(píng)論 :: 0 Trackbacks

    RoR可否替代J2EE?

    iwtask 2006年12月14日 21:32 回復(fù)此消息回復(fù)

    最近在一本雜志上看到,使用Ruby on Rails開發(fā)Web應(yīng)用十分高效,不知是否有人知道RoR最擅長哪方面的應(yīng)用開發(fā)?與J2EE的比較?能否替代J2EE? 請(qǐng)高人指點(diǎn)!我始終認(rèn)為我們目前所用的開發(fā)模式(使用J2EE架構(gòu)+MVC模式,但未用EJB)效率不太高,想換一種架構(gòu)。

    Re: RoR可否替代J2EE? 發(fā)表: 2006年12月16日 19:58 回復(fù)
    wlmouse 發(fā)表文章: 31/ 注冊(cè)時(shí)間: 2006年11月09日 15:58
    Ruby on Rails是最新出現(xiàn)的Web開發(fā)方式。通過所謂的Rails框架,幾個(gè)簡單的命令,就可以生成一個(gè)缺省的數(shù)據(jù)表CRUD程序。但是Ruby on Rails在很多方面還是很不成熟的。至少在短期內(nèi),它還無法承擔(dān)大型項(xiàng)目的開發(fā)。
    在事務(wù)處理、分布式應(yīng)用等高端和復(fù)雜的地方,J2EE還是最主流的選擇,Microsoft.NET占據(jù)了剩下的部分。
    Ruby是解釋語言,這是它的優(yōu)勢,同時(shí)也是劣勢。解釋語言開發(fā)靈活,但是同時(shí),在開發(fā)環(huán)境方面就差了。看看JavaScript吧,很多函數(shù)都要自己記。大家已經(jīng)被Eclpse和VisualStudio這些產(chǎn)品養(yǎng)叼了,所以沒有了一按“.”方法就彈出來、語法錯(cuò)誤自動(dòng)檢查、自動(dòng)重構(gòu)這些功能,就感到相當(dāng)麻煩。而且因?yàn)槭墙忉寛?zhí)行,在執(zhí)行效率上比較低,如果負(fù)載比較大的話,承受能力不如編譯語言。
    我估計(jì)你開發(fā)的多是中小項(xiàng)目吧?中小項(xiàng)目的業(yè)務(wù)邏輯很一般都很簡單,表現(xiàn)層開發(fā)則占了決大多數(shù)時(shí)間。所以,你需要一個(gè)高速開發(fā)表現(xiàn)層的框架。
    我給你三種選擇:一是Microsoft的ASP.net。Microsoft的東西入門容易,表現(xiàn)層開發(fā)決大多數(shù)功能都可以通過拖拽實(shí)現(xiàn)。缺點(diǎn)是只能在Windows平臺(tái)上實(shí)現(xiàn)。二是繼續(xù)使用J2EE,但要選擇一個(gè)新的表現(xiàn)層框架。1.JSF(JavaEE5官方標(biāo)準(zhǔn)),Sun為了和微軟競爭,推出了Sun Java Creater2和最新的Netbeans5.5。它們都支持拖拽式開發(fā)JSF,缺點(diǎn)是資料比較少。2.Tapestry,相當(dāng)不錯(cuò)的表現(xiàn)層框架,缺點(diǎn)是學(xué)習(xí)曲線太高,資料太少。3.Wicket,新出現(xiàn)的框架,用Swing的方式開發(fā)Web應(yīng)用,學(xué)習(xí)曲線比較低,但目前資料太少,而且因?yàn)楸容^新,不夠成熟,所以還無法承擔(dān)大型項(xiàng)目開發(fā)。你可以發(fā)現(xiàn),JavaEE在表現(xiàn)層的開發(fā)上,新的高效框架還是很多的。但都有一個(gè)致命的缺點(diǎn),資料太少。可能是因?yàn)镾truts統(tǒng)治的太久了吧。三就是你說的Ruby on Rails了。
    具體如何選擇,你可以自己比較。而且開發(fā)的時(shí)候,要根據(jù)客戶的要求和你自己的情況綜合考慮。

    Re: RoR可否替代J2EE? 發(fā)表: 2006年12月18日 16:16 回復(fù)
    banq 發(fā)表文章: 7457/ 注冊(cè)時(shí)間: 2002年08月03日 17:08
    同意樓上

    如果有人說“RoR會(huì)替代J2EE”,過于武斷,RoR為什么會(huì)興起,是因?yàn)橐粋€(gè)叫Martin Fowler的人看上了它,MF是什么人?是所謂OO流派大師,其實(shí)我認(rèn)為他是一個(gè)建模專家(分析專家),而非軟件架構(gòu)專家。

    更重要的是:未來不是語言之爭,而是建模語言之爭,RoR雖然是一個(gè)好的建模語言,也就是很快能夠表達(dá)建模意思,但是其代碼架構(gòu)不如Java深入和寬廣。

    小的應(yīng)用使用ROR可以,如果這個(gè)小系統(tǒng)將來可能擴(kuò)展到大系統(tǒng),那么就要Java,到時(shí)再過渡Java平臺(tái),手術(shù)就大了,所以軟件架構(gòu)的可伸縮性很重要,軟件是有生命的,是不斷成長的。

    Re: RoR可否替代J2EE? 發(fā)表: 2006年12月18日 16:42 回復(fù)
    banq 發(fā)表文章: 7457/ 注冊(cè)時(shí)間: 2002年08月03日 17:08
    關(guān)于RoR的快,這是一面之辭,如果犧牲相關(guān)設(shè)計(jì)質(zhì)量,Java也能夠達(dá)到相同的快速開發(fā),例如Hibernate創(chuàng)始人開發(fā)的JBoss Seam,看看它的一個(gè)案例就可以。相關(guān)文章:

    http://www.jdon.com/jive/article.jsp?forum=62&thread=27279

    如果還覺得不算快,我設(shè)計(jì)的JdonFramework更快,分分鐘開發(fā)一個(gè)小的應(yīng)用,而且易于擴(kuò)展。相關(guān)討論:
    http://www.jdon.com/jive/thread.jsp?forum=91&thread=26330

    所以,不是說Java做不到快,我們更應(yīng)該著重于軟件設(shè)計(jì)思想的探討。

    ROR為什么受到MF推崇,實(shí)際它也是Evans DDD的實(shí)現(xiàn),所以,使用Evans DDD這樣領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)以后,可以讓我們完全以對(duì)象方式建模 會(huì)話,表達(dá)需求,這才是根本。

    關(guān)于RoR代表的動(dòng)態(tài)語言(Groovy Python Ruby Smalltalk)與Java/.NET靜態(tài)語言之爭又是另外一個(gè)話題。

    總結(jié):ROR亮點(diǎn)無外乎體現(xiàn)下面三點(diǎn):

    1. 動(dòng)態(tài)語言
    2. Evans DDD
    3. 簡單的面向建模人員語言

    以上三點(diǎn)中,后面兩點(diǎn)需要深刻的OO思維才能發(fā)揮效率,現(xiàn)在很多人使用Java之所以效率不高,其實(shí)是沒有形成純正的OO思維,所以,用起OO工具不爽,同樣也是RoR,所以,只有傳統(tǒng)過程思維的人使用RoR,只能使用到RoR的動(dòng)態(tài)語言特性,這個(gè)就和PHP相似了。

    相關(guān)連接:
    面向?qū)ο笈c領(lǐng)域建模

    Re: RoR可否替代J2EE? 發(fā)表: 2006年12月19日 16:43 回復(fù)
    lgx522 發(fā)表文章: 11/ 注冊(cè)時(shí)間: 2004年04月28日 15:37
    最近正學(xué)習(xí)RoR,驚嘆于其開發(fā)效率。不過筆者以為RoR與Java的應(yīng)用領(lǐng)域大不相同,不存在什么替代之說。
    Java最重要的特點(diǎn),是其廣闊的集成性。各種平臺(tái)、各類技術(shù)、各種設(shè)備,都可與Java溶合。這對(duì)于IT世界長久以來產(chǎn)生的“信息孤島”問題大有意義。可惜國內(nèi)的J2EE一開始就走偏了,關(guān)注點(diǎn)一直聚焦于Web。老實(shí)說,單純的Web層面,老掉牙的ASP就已經(jīng)做得很好了,更不用說近來火爆的PHP。如果Java只需干那點(diǎn)Web層的活兒,只要堅(jiān)持JSP模式1,效率足以勝過前二者,甚至包括RoR(Java類庫的豐富與成熟、JavaBean良好的封裝性)。
    所以Java是一個(gè)歷經(jīng)多年發(fā)展與考驗(yàn)的集大成的平臺(tái),與MS的.NET平臺(tái)相對(duì)應(yīng)(MS的.NET是壟斷性的平臺(tái),無法與Java平臺(tái)的開放性相比)。RoR是一個(gè)新興的Web開發(fā)框架,其位置是與PHP等火爆的動(dòng)態(tài)Web開發(fā)相對(duì)應(yīng)的。所以Java與Ror二者目前是不可等量齊觀的。
    如果RoR真的存在代替Java的可能性,除非Ruby在Java廣泛應(yīng)用的各領(lǐng)域全面超過Java,這種可能性現(xiàn)在看來不會(huì)很大。

    Re: RoR可否替代J2EE? 發(fā)表: 2006年12月20日 01:35 回復(fù)
    xf 發(fā)表文章: 23/ 注冊(cè)時(shí)間: 2006年06月21日 16:56
    I completely agree with your point.of view. A lot of medium and small projects have not very many business process to be implemented. A lot of emphasises are placed on presentation tier or we say "GUI". Besides this, i think general CRUD also takes us tremendious energy and a lot of time.
    In my opinion, I haven't seen any elegant, efficient, stable solution that solves these problems. Whether pattern such as MVC, new technology such as Ruby, or some thing else....
    As to me, I have take a lot of time on research of these articles. And I consider that there might be two way that could be resolve these problems.
    1. Technology. Smart client.
    Combining with advantages of B/S and C/S enable your application more stable and more efficient.

    2. Methodology of design
    Thinking of container and architecture centric are two important thinking.

    Acutally, Ruby on Rails and other script language have not these two charactristics. We could use them in some aspects but not most of the aspects that we might encounter in a project.
    Technology of code generator is not bad. But do you expect that your projects is full of stuff that are generated by code generator that are not easy to read or not easy to maintenance.

    The framework designed with thinking of container is able to provider more high level abstraction and encapsulation.

    I prefer to build a mechanism that likes virtual machine. The runtime environment is based on container. Instead of code generator, we can choose various configurations describle runtime environment, define behaviors regarding what runtime environment wants to do. Configuration should be as simple as that has.
    For example, instead of adding Swing components to a view directly, it's better to define the position information and events of these components in a file and build a GUI container whose responsible is parsing view file and adding them to a view.

    The same thing that we can do is buiding a CRUD container. Of course, we have various CRUD container now such as hibernate, JDO and so on. It can not be denied that these containers are very good, very powerful and robust. One thing we just need to do is building a simple adapt of a CRUD container that you want to use in your project in order not to expose more detail of persitence
    technology.

    Back to the topic of code generator, i prefer use code generator when i met some problems that is hard to be handled except by using code generator. For example, a checking logic is a very complicated expression that should be change depending on runtime environment. It might take a lot effort if we don't use code generator. Maybe, Ruby is a good choice for this case.

    In a word, the more reusable that you have, the more efficent that you could do.

    Re: RoR可否替代J2EE? 發(fā)表: 2006年12月20日 15:48 回復(fù)
    iwtask 發(fā)表文章: 6/ 注冊(cè)時(shí)間: 2006年11月09日 21:49
    各位的觀點(diǎn)對(duì)我大有幫助,非常感謝!關(guān)于J2EE,RoR,.Net等均需要花費(fèi)很大的精力去研究,我們開發(fā)產(chǎn)品所用到的往往是其中的一小部分,不敢輕易下結(jié)論評(píng)價(jià)熟好熟壞。學(xué)無止境。

    Re: RoR可否替代J2EE? 發(fā)表: 2006年12月25日 15:44 回復(fù)
    banq 發(fā)表文章: 7457/ 注冊(cè)時(shí)間: 2002年08月03日 17:08
    xf從code generator代碼自動(dòng)生成角度談了這個(gè)問題。這個(gè)方面MDA正在方興未艾,但是DDD作者Evans本人并不看好這個(gè)方向。

    我想再從動(dòng)態(tài)語言/靜態(tài)語言方面,當(dāng)初Java流行前,也發(fā)生過這個(gè)兩種性質(zhì)的語言之爭,主要是java和smalltalk,都是OO語言,smalltalk曾經(jīng)一度領(lǐng)先,但是,確實(shí)因?yàn)殪o態(tài)語言可以通過編譯器檢查語法錯(cuò)誤,有一個(gè)code completion,最終贏得勝利,有了Java代表的靜態(tài)語言的今天,當(dāng)然,那個(gè)時(shí)候.NET還沒出身呢。

    現(xiàn)在,RoR攜卷靜態(tài)語言又發(fā)動(dòng)了新的一輪進(jìn)攻,特別是2005年底時(shí),國外不少相關(guān)討論都涉及這個(gè)話題,那么靜態(tài)語言既然能夠發(fā)動(dòng)二次進(jìn)攻,肯定對(duì)第一次失敗有了一個(gè)解決方案了,對(duì),那就是單元測試,通過單元測試可以減少語法錯(cuò)誤。

    因?yàn)樵跇?biāo)準(zhǔn)的OO開發(fā)中,測試用例總是可能在先的,而且OO設(shè)計(jì)中的斷言等等都是依賴單元測試生存的,所以,現(xiàn)在又有單元測試TDD之說。

    如果我們TDD做得夠好,OO設(shè)計(jì)得又夠好,RoR代表的靜態(tài)和java/.NET動(dòng)態(tài)就不相上下了。

    問題是我們國內(nèi),70%程序員還在用傳統(tǒng)過程化思維寫程序,有更多的程序員不愿意寫單元測試,TDD幾乎為零。

    所以,試圖跨越OO/DDD和TDD,一腳進(jìn)入發(fā)達(dá)水平,是不可能的。切忌盲目追求新技術(shù),要知道你有沒有基礎(chǔ)玩?

    Re: RoR可否替代J2EE? 發(fā)表: 2006年12月30日 23:34 回復(fù)
    cain_templar 發(fā)表文章: 3/ 注冊(cè)時(shí)間: 2006年11月30日 21:44
    是的,我也是覺得,Java平臺(tái)開發(fā)不是不能快,而是為了對(duì)以后得周期負(fù)責(zé)不能那么快.

    回復(fù):RoR可否替代J2EE? 發(fā)表: 2007年01月09日 09:51 回復(fù)
    banq 發(fā)表文章: 7457/ 注冊(cè)時(shí)間: 2002年08月03日 17:08
    相關(guān)討論:

    http://www.jdon.com/jdonframework/rails.html

    re:RoR可否替代J2EE? 發(fā)表: 2007年01月11日 17:18 回復(fù)
    FengShen_Xia 發(fā)表文章: 52/ 注冊(cè)時(shí)間: 2006年12月13日 17:30
    受益匪淺

    re:RoR可否替代J2EE? 發(fā)表: 2007年01月29日 15:48 回復(fù)
    banq 發(fā)表文章: 7457/ 注冊(cè)時(shí)間: 2002年08月03日 17:08
    動(dòng)態(tài)語言最新更多資料:

    http://www.infoq.com/dynamic_languages/

    Ruby資料:
    http://www.infoq.com/ruby/

    re:RoR可否替代J2EE? 發(fā)表: 2007年01月29日 20:59 回復(fù)
    jdonfans 發(fā)表文章: 43/ 注冊(cè)時(shí)間: 2007年01月16日 11:42
    除了 C# 能動(dòng) Java 外, 沒有什么能動(dòng)它


    posted on 2007-03-17 14:40 java_蟈蟈 閱讀(288) 評(píng)論(1)  編輯  收藏

    評(píng)論

    # re: 在J道上看到的:RoR可否替代J2EE? 2007-03-17 16:47 BeanSoft
    在不同的背景下各種框架都有其存在的合理性. 生物從低級(jí)到高級(jí), 并不是說所有的高級(jí)生物都能存活, 低級(jí)的都餓死了, 也不是說高級(jí)的生物數(shù)目就比低級(jí)的多, 或者高級(jí)的存活率高. 建議筆者多多關(guān)注各種功能的實(shí)現(xiàn), 舉個(gè)例子: 圖片旋轉(zhuǎn). 換句話說, 打好基礎(chǔ)再看框架, 會(huì)覺得無非都是一些筐子, 裝的是你寫的調(diào)用發(fā)郵件, 寫文件, 讀寫數(shù)據(jù)庫的代碼 --- 業(yè)務(wù)邏輯. 學(xué)語言, 最重要的是 API, 不是語法(對(duì)于做應(yīng)用程序, 而不是編譯器的人來說), 起碼要工作就得至少熟練掌握一門語言.

    個(gè)人觀點(diǎn), 呵呵.  回復(fù)  更多評(píng)論
      


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 最近中文字幕大全中文字幕免费| 国产高清对白在线观看免费91| 99精品视频免费在线观看| 亚洲午夜久久久久久久久电影网| 曰批免费视频播放免费 | 无码国产精品一区二区免费3p | 国产亚洲AV无码AV男人的天堂| 一个人看的免费高清视频日本| 亚洲日韩中文在线精品第一| 国产99精品一区二区三区免费| 亚洲视频在线免费| 91成人免费观看在线观看| 日本亚洲欧洲免费天堂午夜看片女人员| 在线看片免费人成视频久网下载| 九月丁香婷婷亚洲综合色| 99久久人妻精品免费一区| 91亚洲国产成人久久精品| 免费毛片在线看片免费丝瓜视频| 亚洲AV永久无码精品放毛片| 亚洲精品亚洲人成在线观看下载 | 亚洲福利在线观看| 国产91色综合久久免费分享| 精品亚洲456在线播放| 国产成人一区二区三区免费视频| 国产亚洲精品国产福利在线观看| 亚洲人成网77777亚洲色| 亚洲香蕉免费有线视频| 亚洲精品无码一区二区 | 免费羞羞视频网站| 九九久久国产精品免费热6| 在线亚洲精品自拍| 97精品免费视频| 亚洲欧洲无码一区二区三区| 亚洲毛片av日韩av无码| 97国产在线公开免费观看| 亚洲成a人无码亚洲成av无码| 中文字幕在亚洲第一在线| 免费专区丝袜脚调教视频| 最新亚洲人成网站在线观看| 久久精品国产亚洲av成人| 思思99re66在线精品免费观看|