<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)航:
     
    主站蜘蛛池模板: 亚洲AV日韩AV天堂一区二区三区 | 成人a毛片视频免费看| 久久久亚洲精品无码| 免费h成人黄漫画嘿咻破解版| 91精品免费国产高清在线| 成全视成人免费观看在线看| 亚洲av永久无码天堂网| 亚洲国产精品网站久久| 国产亚洲一区二区手机在线观看| 免费中文字幕一级毛片| 四虎影视www四虎免费| 亚洲免费视频播放| 99久久国产免费中文无字幕| 三级毛片在线免费观看| 日本高清免费中文在线看 | 嫩草视频在线免费观看| 亚洲一区二区三区免费在线观看| 中文字幕免费人成乱码中国| 九九免费精品视频在这里| 看全免费的一级毛片| 亚洲精品第一国产综合亚AV| 日韩亚洲人成在线| 亚洲专区一路线二| 亚洲国产精品白丝在线观看| 亚洲高清资源在线观看| 亚洲综合在线视频| 91亚洲精品第一综合不卡播放| 亚洲精品人成在线观看| 亚洲综合无码一区二区| 亚洲狠狠ady亚洲精品大秀| 亚洲视频手机在线| 亚洲成无码人在线观看| 亚洲电影在线免费观看| 亚洲午夜精品一区二区公牛电影院 | 我要看WWW免费看插插视频| 手机在线毛片免费播放| 午夜寂寞在线一级观看免费| 全免费A级毛片免费看网站| 国产无遮挡吃胸膜奶免费看| 日本不卡在线观看免费v| 国产成人综合久久精品免费 |