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

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

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

    Scott@JAVA

    Java, 一杯濃濃的咖啡伴你到深夜

    Java IDE繼續(xù)飄香

    即使在微軟開發(fā)平臺(tái)大行其道的今天,Java IDE仍是企業(yè)開發(fā)人員用得最多的應(yīng)用開發(fā)工具之一。可是,在實(shí)際使用中應(yīng)該選擇哪一種IDE呢?本文為開發(fā)者提供了一些選型的依據(jù)。

    Borland JBuilder、IBM Rational以及Sun NetBeans這三款著名的Java開發(fā)工具曾經(jīng)分別獲得美國《InfoWorld》2005、2006、2007年度的Java IDE產(chǎn)品類別“年度技術(shù)”獎(jiǎng),是目前市面上應(yīng)用最多、性能最強(qiáng)大的開發(fā)工具之一。在過去的幾年里,這些工具都成熟了很多,特別是在靜態(tài)代碼分析、單元測(cè)試和版本管理等方面取得了巨大進(jìn)步。本文對(duì)這三款開發(fā)工具進(jìn)行了詳細(xì)評(píng)測(cè),以期為開發(fā)人員提供一些選型的依據(jù)。

    IBM RAD 7: 不支持Java EE 5、Java SE 6

    IBM Rational Application Developer for WebSphere Software 7.0(簡(jiǎn)稱RAD 7)基于Eclipse——Borland/CodeGear的JBuilder產(chǎn)品系列也基于這個(gè)開源軟件框架。Eclipse原先就是一種Java IDE,不過近幾年它重新定位,作為可以往上面添加多種插件的框架,因而可以構(gòu)建各種各樣的工具(許多工具與Java開發(fā)沒有關(guān)系)。Eclipse新的框架定位引起了一些人的擔(dān)憂,生怕原先的Java IDE概念已被淡化。這種擔(dān)心也許不無道理,不過好就好在Eclipse目前擁有最大的Java插件社區(qū)。

    RAD 7為改動(dòng)后的Eclipse庫添加了幾個(gè)組件,其中不少組件面向企業(yè)應(yīng)用開發(fā),它們包括門戶組件和門戶開發(fā)工具,還有廣泛的數(shù)據(jù)庫支持。數(shù)據(jù)庫支持(尤其支持IBM的DB2)包括了編寫用戶自定義函數(shù)(UDF)、存儲(chǔ)過程和SQLJ代碼的功能,而這些都是本次測(cè)評(píng)的三款產(chǎn)品中特有的功能。

    不過,RAD 7的圖解和建模功能比較有限,它只支持兩種UML圖(NetBeans和JBuilder分別支持八種和九種)。要從IBM獲得更全面的圖表支持功能,就得購買價(jià)格更昂貴的IBM Rational Software Architect。

    有了RAD 7,就可以開發(fā)Web服務(wù)和Web服務(wù)客戶程序,生成Web服務(wù)描述語言(WSDL),甚至對(duì)專有的通用描述發(fā)現(xiàn)集成(UDDI)服務(wù)進(jìn)行單元測(cè)試。另外,它還支持IBM的DADX,這是Web服務(wù)使用的DB2 XML擴(kuò)展。遺憾的是,該產(chǎn)品以IBM為中心的特性還影響到了UDDI測(cè)試:它只支持使用基于IBM技術(shù)的專有注冊(cè)庫。

    在編碼方面,RAD 7提供了靜態(tài)分析工具,集成了IBM開發(fā)的200多項(xiàng)規(guī)則,適用于處理可能存在的Java缺陷和編碼錯(cuò)誤。盡管本次測(cè)評(píng)的其他IDE提供了更多規(guī)則,但I(xiàn)BM的解決方案可以把這些產(chǎn)品無法發(fā)現(xiàn)的錯(cuò)誤標(biāo)記出來,并詳細(xì)說明使用規(guī)則的原因以及解決問題的示例代碼。這種全面的幫助體現(xiàn)了IBM一貫以來的傳統(tǒng):說明文檔翔實(shí)、完備。RAD可鏈接到廣泛的教程。以豐富的文章數(shù)量而在開發(fā)社區(qū)中享有盛名的IBM網(wǎng)站也提供了另外一些資源。

    如果應(yīng)用程序需要腳本語言來把各部分“粘合”起來,RAD 7還提供了內(nèi)部支持基于Java的Python(Jython)的功能。遺憾的是,該IDE無法自動(dòng)區(qū)別什么是Jython、什么是Java,盡管這兩門語言的語法全然不同。這會(huì)導(dǎo)致有些操作使得IDE無法正常工作。

    盡管這個(gè)缺點(diǎn)很小,但表明了我在使用RAD 7時(shí)經(jīng)常遇到的問題:許多特性沒有實(shí)施好。譬如說,軟件安裝起來非常困難。得到IBM有關(guān)人員的支持后,筆者才正確安裝上了該產(chǎn)品,不過原先的一些問題的原因根本就沒有找出來。

    問題還不止這些。檢查注釋和文字拼寫的選項(xiàng)(一項(xiàng)有用功能)沒法使用,因?yàn)镮BM沒有發(fā)布詞典。要是這項(xiàng)特性被啟用,它會(huì)把所有單詞標(biāo)記為拼寫有誤。代碼檢查工具指定的糾正操作偶爾會(huì)無效。對(duì)話框里面的動(dòng)態(tài)幫助經(jīng)常把用戶帶到錯(cuò)誤的地方,所以只好重新回到特定的上下文。

    一段時(shí)間后,這些問題堆積起來使得這個(gè)原本不錯(cuò)的產(chǎn)品用起來讓人沮喪。另外,還有一個(gè)地方要抱怨:IBM在支持現(xiàn)有的Java標(biāo)準(zhǔn)方面落后于其他廠商。它是這次測(cè)評(píng)中惟一不支持Java EE 5和Java SE 6的一種IDE。

    因此,本文推薦已經(jīng)在大量使用IBM產(chǎn)品的站點(diǎn)使用RAD 7,因?yàn)樵摦a(chǎn)品特別支持這些產(chǎn)品,尤其是DB2和WebSphere。另外,要是站點(diǎn)希望許多國家的開發(fā)人員使用同一種IDE,應(yīng)當(dāng)會(huì)喜歡RAD 7,因?yàn)樗耐馕陌姹颈绕渌魏我环NIDE都要多得多。不過,價(jià)格比較高,加上其他方面的一些不足可能會(huì)促使站點(diǎn)在斥資購買之前會(huì)考察所有方案。

    JBuilder 2007:相當(dāng)出色的IDE

    Borland/CodeGear JBuilder 2007 Enterprise Edition在這次測(cè)評(píng)中榮登榜首。這個(gè)版本是自該產(chǎn)品移植到Eclipse平臺(tái)以來的第一個(gè)版本。它由專門開發(fā)IDE工具的Borland旗下的CodeGear發(fā)布。由于Borland的產(chǎn)品用起來歷來有難度,加上這是新平臺(tái)上的第一個(gè)版本,所以我以為這個(gè)優(yōu)秀產(chǎn)品會(huì)有些不盡如人意的地方。結(jié)果出乎所料,這個(gè)非常順暢而穩(wěn)定的IDE有許多創(chuàng)新的特性。可以這么說,CodeGear肯定為這個(gè)版本耗盡了心血,事實(shí)上確實(shí)也取得了輝煌成功。

    至于Java編碼,JBuilder有三個(gè)不同系列的代碼審查器和分析器:開源PMD、Findbugs和Borland自己的代碼檢查工具。這些工具可以很好地協(xié)同工作(實(shí)際上,它們帶來的眾多標(biāo)記項(xiàng)可能讓開發(fā)人員招架不住),不過它們對(duì)出現(xiàn)的問題沒有解釋應(yīng)采取什么措施,也沒有IBM的RAD 7產(chǎn)品那樣全面的問題解決建議辦法。

    JBuilder捆綁了一個(gè)度量包(metrics package),它比任何IDE的度量包都來得全面。它可以生成80多種不同的度量,并且以圖解或者電子表格的方式顯示。用戶可以關(guān)閉沒有興趣的度量,為確實(shí)想要跟蹤的那些度量設(shè)定閾值。JBuilder還能保存度量快照,那樣就可以將代碼庫的當(dāng)前狀態(tài)和前幾次執(zhí)行的狀態(tài)進(jìn)行比較,確保數(shù)字往正確的方向發(fā)展。

    CodeGear集成了JBuilder的OptimizeIt工具套件,多年來Borland把它作為獨(dú)立產(chǎn)品來提供。OptimizeIt提供了眾多的高清晰視圖,可以了解軟件的性能和內(nèi)存使用情況。它包括代碼覆蓋分析(但只能分析類覆蓋百分比,而不是逐行分析)及其他可見性,從而可以了解底層發(fā)生的情況,包括每個(gè)線程的數(shù)據(jù)。

    JBuilder還提供出眾的協(xié)作特性。它擁有面向開發(fā)人員的消息傳送系統(tǒng),這有助于代碼檢查以及開發(fā)人員的通信。它使用對(duì)等設(shè)計(jì)模式,遺憾的是,只能與同一個(gè)網(wǎng)段上的伙伴協(xié)同工作。JBuilder為團(tuán)隊(duì)協(xié)作方面提供了TeamInsight,這個(gè)易于配置的門戶服務(wù)器包括以下幾個(gè)重要的開源工具:Subversion、Bugzilla、Continuum和XPlanner。該門戶可以通過Web接口或者通過JBuilder訪問,包含眾多的項(xiàng)目報(bào)告和度量。其他兩種IDE都沒法與這種團(tuán)隊(duì)合作的緊密性相提并論。

    JBuilder整體上讓人覺得可靠、穩(wěn)定:考慮到它只是Eclipse平臺(tái)上的第一個(gè)版本,取得這樣的成績(jī)實(shí)屬不易。遇到的惟一錯(cuò)誤就是經(jīng)常出現(xiàn)不管用的幫助圖標(biāo)。需要抱怨的地方集中在沒有實(shí)施的特性上,譬如缺少面向JSP或者JSF的可視化設(shè)計(jì)器(不過這些設(shè)計(jì)器很快就會(huì)出現(xiàn))。該產(chǎn)品還無法為使用DB2的應(yīng)用程序生成部署文件。最后,它目前只有Windows版本。Linux和Mac版本定于5月推出。

    截至測(cè)評(píng)時(shí)的版本價(jià)格為1999美元,所以JBuilder并不便宜,但完全物有所值。對(duì)不需要所有高端特性的開發(fā)人員來說,還可以使用專業(yè)版和開發(fā)人員版的JBuilder,價(jià)格分別為799美元和399美元。

    NetBeans 5.5:可免費(fèi)下載

    Sun的NetBeans產(chǎn)品是這次測(cè)評(píng)產(chǎn)品中惟一完全開放源碼的產(chǎn)品,可從netbeans.org免費(fèi)獲得。不像其他軟件包,NetBeans需要一些組合。可以從核心NetBeans平臺(tái)著手,添加幾個(gè)“包”(pack),具體取決于開發(fā)者的需求。

    目前,Sun提供企業(yè)包和Visual Web包(兩個(gè)都用于這次測(cè)評(píng))、用于J2ME編程的移動(dòng)包以及C/C++包。性能分析包(也用于這次測(cè)評(píng))是一個(gè)獨(dú)立的包。這些包包含常用的IDE插件,通常提供了大量新功能。一旦下載了這些包,安裝起來就輕而易舉。

    幾年前,NetBeans更像是有一些優(yōu)秀特性,但在后面跟隨的IDE,難以與其他Java IDE產(chǎn)品真正平分秋色。但現(xiàn)在不再是這樣,NetBeans為企業(yè)計(jì)算環(huán)境提供了幾項(xiàng)實(shí)用特性,包括通過Sun的GlassFish項(xiàng)目這一形式支持Java EE 5。該IDE擁有面向基于服務(wù)的企業(yè)開發(fā)的優(yōu)秀工具,無論是面向服務(wù)的架構(gòu)(SOA),還是普通的Web服務(wù)。譬如說,NetBeans是本次測(cè)評(píng)中惟一擁有業(yè)務(wù)流程執(zhí)行語言(BPEL)所需的全部圖解和建模功能的產(chǎn)品。

    不過,該企業(yè)服務(wù)產(chǎn)品的不足是缺少支持常用產(chǎn)品的功能。NetBeans不支持IBM的WebSphere應(yīng)用服務(wù)器,并且缺少支持JavaDB之外的其他任何數(shù)據(jù)庫的集成功能。不過,后一點(diǎn)需要澄清一下:NetBeans能夠識(shí)別可通過Java數(shù)據(jù)庫連接性(JDBC)訪問的任何數(shù)據(jù)庫,但它只能為JavaDB生成配置文件、充分利用數(shù)據(jù)庫管理系統(tǒng)(DBMS)特定的特性。

    NetBeans的協(xié)作特性非常好,擁有內(nèi)置工具,可用于開發(fā)人員之間的實(shí)時(shí)協(xié)作,包括聊天和代碼共享功能。不像JBuilder中的這些特性,NetBeans的設(shè)計(jì)基于服務(wù)器。可以構(gòu)建自己的服務(wù)器用于這種通信,也可以免費(fèi)使用Sun提供的服務(wù)器。只要登錄到Sun的服務(wù)器,所在小組的任何開發(fā)人員都會(huì)連同他們的登錄狀態(tài)信息顯示出來,這種設(shè)計(jì)類似IM產(chǎn)品中的在線感知(presence awareness)。;

    至于GUI設(shè)計(jì),NetBeans捆綁了Matisse,這是同類中最出色的GUI布局工具。把窗口組件拖放到窗格和對(duì)話框上時(shí),它們會(huì)正確地自動(dòng)排列。最佳和可選位置排列方面的準(zhǔn)則會(huì)在拖放操作過程中彈出來。Matisse然后利用這種設(shè)計(jì)來生成代碼。

    如果站點(diǎn)大量開發(fā)基于Swing的接口,單單這個(gè)工具就讓NetBeans成為它們的首選IDE,因?yàn)镸atisse只與Swing協(xié)同工作。幸好,由于Swing的性能和外觀感覺得到了穩(wěn)定發(fā)展,這個(gè)局限不像以前那樣來得嚴(yán)重。

    雖然本次測(cè)評(píng)的其他Java IDE都使用自己的專有格式來存放項(xiàng)目元數(shù)據(jù),但NetBeans巧妙地依賴Ant文件來存放項(xiàng)目的配置數(shù)據(jù)(其實(shí),它使用相當(dāng)于make的開源Java工具Ant幫助構(gòu)建代碼)。這具有一大優(yōu)勢(shì):在使用多種Java IDE的開發(fā)小組中,其他任何IDE都可以裝入及運(yùn)行NetBeans項(xiàng)目,不必手工轉(zhuǎn)換或者分批導(dǎo)入。

    但使用Ant文件也有一個(gè)缺點(diǎn):NetBeans只支持單一運(yùn)行時(shí)配置。其他IDE大多數(shù)可以想編寫多少運(yùn)行時(shí)配置,就能編寫多少,NetBeans卻不是這樣。要是每次想改變傳遞給應(yīng)用程序的參數(shù),就得手動(dòng)改變一個(gè)配置(即將推出的6.0版本IDE解決了這個(gè)問題)。

    顯然,NetBeans擁有不同尋常的特性組合——有些特性實(shí)施得很好,但另一些完全沒有。它不但免費(fèi),而且比基于Eclipse的產(chǎn)品響應(yīng)更迅即、操作更容易,因?yàn)樗鼇G棄了Eclipse采用的“視圖”設(shè)計(jì),而是單單使用窗口。另外,NetBeans經(jīng)常得到改進(jìn),擁有非常活躍的開發(fā)社區(qū),得益于僅次于Eclipse的龐大插件庫。

    事實(shí)上,NetBeans的新版本可以解決上述許多抱怨。如果你在考慮NetBeans,不妨在做出決定之前,看一下目前可以獲得的版本6測(cè)試版。

    鏈接:其他的Java IDE工具

    挑選IDE的關(guān)鍵是選擇既確保工作效率、又便于使用的一種IDE。下面簡(jiǎn)要介紹一下本文所討論的產(chǎn)品之外的三個(gè)選擇。

    Eclipse:如果不需要RAD 7或者JBuilder的高級(jí)特性,不妨考慮普通版本的Eclipse,可以從eclipse.org免費(fèi)下載。如果需要幾項(xiàng)高級(jí)特性,不妨考慮Genuitec的MyEclipse,它把許多開源工具(包括NetBeans的Matisse)集成到Eclipse里面,費(fèi)用是每個(gè)用戶每年54美元。

    JetBrains IntelliJ: 許多開發(fā)人員認(rèn)為這款Java IDE是最有效率、最讓人喜歡的純編碼環(huán)境。IntelliJ的界面比IBM、Borland或者Sun IDE來得直觀,因而博得了美譽(yù)。它還有一些獨(dú)特的特性,譬如說,代碼規(guī)則在后臺(tái)運(yùn)行,所以在編碼過程中出現(xiàn)的錯(cuò)誤或者錯(cuò)誤樣式會(huì)實(shí)時(shí)顯示;問題被糾正后,就會(huì)從屏幕上立馬消失。這些規(guī)則比本次測(cè)評(píng)的三款產(chǎn)品都要來得多,對(duì)編寫大量Java代碼、又不需要建模工具的站點(diǎn)而言,IntelliJ是非常可靠、非常低廉的選擇。

    Oracle JDeveloper: JDeveloper是一種特性豐富、免費(fèi)(但不是開源)的Java IDE,可從Oracle網(wǎng)站獲得。與NetBeans一樣,它也不是基于Eclipse。它支持一些企業(yè)特性,包括SOA和Web服務(wù),當(dāng)然也支持與Oracle數(shù)據(jù)庫技術(shù)和OC4J Java應(yīng)用服務(wù)器之間的特殊集成。

    posted on 2007-04-29 00:45 Scott@JAVA 閱讀(615) 評(píng)論(0)  編輯  收藏 所屬分類: IDE

    主站蜘蛛池模板: 亚洲AV噜噜一区二区三区| 亚洲av乱码一区二区三区| 无码欧精品亚洲日韩一区夜夜嗨| 国产成人免费A在线视频| 国产99视频免费精品是看6| 国产成人亚洲精品狼色在线| 亚洲最新视频在线观看| 亚洲一区在线观看视频| 91久久成人免费| 成人永久免费福利视频网站| 77777亚洲午夜久久多人| eeuss影院免费直达入口| 2021在线观看视频精品免费| 亚洲AV无码成人精品区大在线 | 曰批全过程免费视频网址| 久久91亚洲精品中文字幕| 亚洲国产精品久久久久秋霞小| 日韩精品无码永久免费网站| 99视频免费播放| 狠狠久久永久免费观看| 国产亚洲精品a在线观看app| 亚洲第一男人天堂| 国产做国产爱免费视频| 免费黄网在线观看| 免费在线观看亚洲| 中文字幕乱码免费视频| 亚洲熟妇无码AV在线播放| 国产亚洲综合视频| 亚洲色婷婷六月亚洲婷婷6月| 青青操免费在线观看| 亚洲黄色网址大全| 欧洲人免费视频网站在线| 四虎影视在线永久免费看黄| 免费播放国产性色生活片| 亚洲精品无码专区久久久| 青青青国产在线观看免费网站| 亚洲成人在线电影| 免费无码又爽又刺激高潮| 亚洲天堂免费在线视频| 亚洲欧洲在线播放| 最近中文字幕高清免费中文字幕mv|