自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

盤點四大頂級Java編程工具

開發(fā) 后端
許多開發(fā)人員在選擇新的編程工具時總會犯難,為了解開你心中的疑團,本文就對流行的Java開發(fā)工具做一次全面的橫向?qū)Ρ?,它們分別是:Eclipse,JetBrains IntelliJ IDEA,Netbeans和Oracle JDeveloper。

51CTO曾經(jīng)給大家介紹過:“Java IDE大戰(zhàn)”專題。通過對比分析NetBeans、IntelliJ IDEA、Eclipse的一些具體特性,給出了一些參考依據(jù)。比如你的團隊擅長Swing開發(fā),那么,NetBeans是最恰當?shù)倪x擇。JSP/Struts開發(fā)上,IDEA表現(xiàn)出其突出的優(yōu)點。JSF開發(fā)方面,這三個IDE緊緊相隨。好的程序員總是對開發(fā)環(huán)境有著不同尋常的熟悉,有的人可能對完整的IDE熟悉,它們也是本文的重點,還有人可能會emacs或vi/vim這樣的編輯器熟悉,但據(jù)調(diào)查發(fā)現(xiàn),開發(fā)人員每隔幾年就會轉(zhuǎn)移到新的IDE,有可能是項目需要,或跳槽到了新公司,或是自己的偏好發(fā)生了轉(zhuǎn)移。

許多開發(fā)人員在選擇新的編程工具時總會犯難,為了解開你心中的疑團,本文就對流行的Java開發(fā)工具做一次全面的橫向?qū)Ρ?,看完本文說不定就不再犯難了。好吧,首先請各位選手登臺亮相吧,它們分別是:Eclipse,JetBrains IntelliJ IDEA,Netbeans和Oracle JDeveloper。這些工具都很優(yōu)秀,對重構(gòu),語法檢查和調(diào)試的支持都很好,大都能直接從IDE將項目部署到服務器,并能進行遠程調(diào)試。單獨對比它們的功能已經(jīng)沒有什么意義了,因為它們都支持插件,我們更注重的是易用性,文檔和幫助系統(tǒng)的質(zhì)量,以及插件的數(shù)量和質(zhì)量。提到插件就不得不提Eclipse基金會,長期以來它都信奉和推崇插件,Eclipse的插件數(shù)非常豐富,每次發(fā)行新版本都會同步推出大量的新插件。

Netbeans和IntelliJ IDEA也有很多的插件,但它們更注重用戶體驗,JDeveloper同樣易于使用,不過插件數(shù)量就少一些,此外,它和Oracle的軟件堆棧聯(lián)系緊密,從商業(yè)角度出發(fā)更有吸引力,但也正因為如此,JDeveloper才沒有出現(xiàn)較大的插件生態(tài)系統(tǒng)。

總分對比
圖1 總分對比

這些IDE都支持Java開發(fā)中用到的通用語言(JSF,HTML,CSS,XML等),有些還支持JVM腳本語言(如Groovy和JRuby),甚至是非Java語言(如C/C++,PHP)和建模語言(UML),下表顯示了這些IDE默認安裝支持的主要語言清單。

支持的開發(fā)語言對比
圖2 支持的開發(fā)語言對比

下表顯示了所有IDE對Java SE和企業(yè)開發(fā),以及對Java ME嵌入式和Android移動開發(fā)和的支持良好程度(這里不涉及任何第三方輔助增強工具,如果要加入第三方的工具,Eclipse對Java ME的支持將有所改善)。

對開發(fā)平臺支持的對比
圖3 對開發(fā)平臺支持的對比

在本次評測中,我們特別注重易用性和編碼能力,我們認為它們是決定生產(chǎn)力和用戶滿意度的主要因素,它們和插件一樣重要,在記分卡上會有所反映,我給每個因素設(shè)置了不同的權(quán)重,如果你不同意我的評估結(jié)果,你可以根據(jù)你的看法進行修改,并得出你自己的排名。#p#

Eclipse 3.6

Eclipse是所有Java IDE中最突出的一員,其用戶量和插件規(guī)模都是無人能敵的,這一切首先要感謝其創(chuàng)始公司IBM,IBM將其開源,成立獨立的基金會,并提供持續(xù)的資助,其它廠商和社區(qū)也可以為Eclipse做貢獻,事實證明,這個決策是非常英明的,Eclipse社區(qū)非?;钴S,并為其貢獻了大量優(yōu)秀的插件。

Eclipse廠商獨立性的好處很快就有了回報,Google公開宣布Eclipse成為Android開發(fā)的首選平臺,曾經(jīng)Netbeans也成為Google的熱門候選,但Oracle最近針對Android中使用的Java虛擬機而起訴Google,讓Google徹底斷了這個想法。

最新版本是今年6月發(fā)布的3.6,代號太陽神,它加入了很多新的功能,稍后我會提及它們。Eclipse是自成一格的IDE,其界面布局和其它IDE有著很大的不同,其中最重要的一個概念就是透視圖,根據(jù)不同的行為,顯示的透視圖可能不一樣,這種設(shè)計是為了滿足豐富的插件使用,因此其界面布局有時會發(fā)生很大的變化。

在基本的Java開發(fā)環(huán)境中,Eclipse放棄了一些約定,它要求用戶遵循它的規(guī)則,例如,在創(chuàng)建項目前需要先創(chuàng)建一個工作區(qū),項目是創(chuàng)建在工作區(qū)之下的,你也可以在工作區(qū)下面創(chuàng)建工作集,對工作區(qū)的依賴意味著項目的遷移是件麻煩事,向?qū)崾就屓朔笗灒?ldquo;放手去做”的思想在Eclipse中行不通,幾乎所有事情都需要填寫對話框或選擇項,要么無法區(qū)分或不直觀。

Eclipse IDE的Java編碼界面
圖4 Eclipse IDE的Java編碼界面

例如,在未安裝Groovy插件前,將一個混合了Groovy和Java的項目導入到Eclipse,如果你點擊Groovy文件進行編輯,對彈出一個菜單,包含四個選項:文本編輯器,系統(tǒng)編輯器,本地編輯器和默認編輯器,因為沒有提供任何幫助或提示信息,在這里就只能靠猜的方法選擇了,事情還沒完,如果你選擇系統(tǒng)編輯器,Eclipse開始運行腳本,而不是打開編輯它,總之,開發(fā)人員需要有豐富的經(jīng)驗才能很好地駕馭好Eclipse,不要迷戀向?qū)钦胬怼?/p>

要摸清Eclipse的底細,用戶得嚴重依賴于幫助系統(tǒng),這么多年來,Eclipse的幫助系統(tǒng)確實進步了不少,但仍然有不足之處。此外,Eclipse早期版本會虛假報告錯誤數(shù)量,不過現(xiàn)在這一現(xiàn)象已基本得到消除,雖然每次發(fā)布新的版本都會修復一些問題,但其核心的編輯功能應該重寫和重新設(shè)計。

我還要補充一點,在Java開發(fā)領(lǐng)域,Eclipse的設(shè)計問題必須要改進了,現(xiàn)在它面對的競爭對手一個也不差,它的那些缺點更能說明問題,在其它領(lǐng)域,如C開發(fā),原本就鮮有優(yōu)秀的IDE,因此抱怨的聲音也很少,Eclipse現(xiàn)在也是Linux下C/C++開發(fā)的主要IDE。

盡管存在問題,使用Eclipse的插件可以獲得無限的擴展性,這也是為什么許多插件開發(fā)人員力挺Eclipse的原因,許多優(yōu)秀的Eclipse插件在其它IDE中是找不到的,因為這些插件的開發(fā)者不愿意移植,如著名的任務管理器Mylin,你只能在Eclipse中享用它。

過去,Eclipse插件管理一直被用戶詬病,因為插件之間的依賴性太強了,Eclipse已經(jīng)意識到問題的嚴重性,并在逐漸解決這些問題,今年發(fā)布了Eclipse Marketplace,一舉解決了尋找插件的困難。

51CTO推薦專題

[[16651]]

#p#

JetBrains IntelliJ IDEA 9.0.3

JetBrains的IntelliJ有兩種版本:付費和免費的開源社區(qū)版本,本文用于比較的是其付費版本,社區(qū)版只提供了基本的編輯功能。IntelliJ IDEA比其它IDE的速度要快,因此吸引了大批忠實用戶。對于初學者,IntelliJ的開發(fā)人員經(jīng)常關(guān)注Java社區(qū)的一舉一動,因此他們總能以最快的速度添加對新的,熱門產(chǎn)品的支持,如IntelliJ是第一個為Groovy和Grails提供強大支持的IDE,也是第一個為JavaScript提供高級支持和調(diào)試功能的IDE,即使它不是第一個提供支持的,也會爭取是第二個,或是提供更好的支持。IntelliJ可與Ant和Maven無縫集成,支持Spring,并能夠從Java編碼跳躍到Adobe Flex和PHP。

IntelliJ IDEA憑借其獨樹一幟的功能贏得了眾多用戶,如幾年前,它率先推出用于單元測試的結(jié)果對比窗口,在進行單元測試時,可以并排對比預期結(jié)果和實際輸出,這在當時可是非常拉風的功能。

即便是如今,它的功能也比其它競爭對手更優(yōu)秀,有些功能完全是獨一無二的,例如,它提供的重構(gòu)工具就比其它IDE強大得多,此外,它內(nèi)置的語法檢查器不僅可以揪出明顯的語法錯誤,還可以“聞”出問題,那些寫得不好,但可以正常運行的代碼在它靈敏的嗅覺下暴露無遺,這樣的代碼實現(xiàn)包括:簡單功能復雜化,只有一個為“真”的條件等。IntelliJ還提供了代碼覆蓋工具,它能在IDE中顯示測試時哪些代碼被執(zhí)行過了,IntelliJ還捆綁了開源的EMMA產(chǎn)品。

IntelliJ IDEA有兩個并排的編輯器
圖5 IntelliJ IDEA有兩個并排的編輯器

IntelliJ還有一個很獨到的功能,那就是高亮顯示重復的代碼,在一個很大的代碼庫中要找出重復的代碼可不是件容易的事情,它還提供了一個依賴分析工具,可以準確地顯示出方法之間的依賴關(guān)系。

IntelliJ往往會預先考慮到很多需求,例如,這里提到的所有IDE都有一個相同的彈出式功能,當你在編輯器中輸入方法的名稱時會彈出一個輔助窗口,這個功能也被稱為自動完成,在IntelliJ中,它會借助代碼上下文信息猜測你要使用的函數(shù),并將其置于列表頂部,因此使用箭頭鍵向下滾動的幾率就小多了,最不可思議的是,它的準確率很高,這是一個非常人性化的功能。

說了這么多的優(yōu)點,難道IntelliJ就沒有缺點了嗎,當然不是,抱怨最多的就是缺乏良好的文檔支持,如果遇到問題可能沒有人能幫得上忙,要弄清楚其高級功能也不容易,幸運的是,開發(fā)商會回答電子郵件提問,但要想得到正確的答案,一次只能問一個問題,由于開發(fā)商在俄羅斯,因此還需要忍受時差,IntelliJ的第二個問題是啟動時間過長,雖然在9.0中有所改善,但啟動速度仍然緩慢。除了這些問題,IntelliJ是一個優(yōu)秀的IDE,與其它競爭對手比起來,它是一款成功的商業(yè)產(chǎn)品。#p#

NetBeans 6.9

過去5年中,NetBeans的市場占有率上升很快,據(jù)位于紐約的BZ市調(diào)公司發(fā)布的年度Java IDE調(diào)查報告顯示,2005 NetBeans在受訪者中的使用比例是17.9%,今年這一數(shù)字翻了一番,達到了35.7%,它是這個期間上升最大的Java IDE,在總的普及程度方面,NetBeans僅僅次于排名第一的Eclipse。

NetBeans取得今天的成績是和它的前主人Sun微系統(tǒng)公司悉心關(guān)注分不開的,當今年早些時候Oracle收購Sun時,Java社區(qū)對NetBeans的命運非常關(guān)注,特別是當Oracle宣布不再繼續(xù)支持Sun的開源項目時,如OpenSolaris和Kenai托管項目,關(guān)注度更是達到了前所未有的高度。

Oracle開發(fā)工具產(chǎn)品管理老大Duncan Mills傳達了Oracle的旨意,NetBeans將會繼續(xù)保留,他說:“我們會積極支持JDeveloper和NetBeans,JDeveloper主要用于內(nèi)部和企業(yè)用戶,特別是那些需要Oracle融合中間件解決方案的用戶,而NetBeans主要為那些想開發(fā)其它技術(shù)的用戶提供,我們希望他們最終遷移到Oracle解決方案和JDeveloper”。

NetBeans最突出的優(yōu)點是它的易用性,輕盈和簡潔,訪問它的下載頁面就可以感受到這種氛圍,例如,下載NetBeans時,你會看到它提供了多種預配置的版本,你只需要選擇合適的下載即可,Eclipse也有類似的體貼之處,而IntelliJ和JDeveloper只提供了粗暴的下載鏈接。

NetBeans編輯器,下方是從代碼抽取的未完成任務列表
圖6 NetBeans編輯器,下方是從代碼抽取的未完成任務列表

NetBeans支持JRuby和JavaFX,這是其它IDE所忽略的,當然,NetBeans也是支持C/C++和PHP的,JRuby最初是由Sun開發(fā)的,這也是為什么NetBeans要支持它的緣故。JRuby重要開發(fā)人員Charles Nutter最近告訴我,在語言支持方面,NetBeans有不可逾越的優(yōu)勢,它也支持桌面腳本語言JavaFX,Oracle也表示會堅定不移地推動這項技術(shù)的發(fā)展,但引來的質(zhì)疑聲也很大,因為JavaFX在用戶中間的反響并不好。NetBeans一度停止了對UML圖的支持,但幸好現(xiàn)在又提供了。
NetBeans早在幾年前就經(jīng)過了完全重新設(shè)計,保留了簡單易用的導航,它和IntelliJ不一樣,IntelliJ是在輸入時執(zhí)行語法檢查,NetBeans是在后臺不斷編譯,Eclipse有一個配置選項也可以提供類似的功能,這意味著一旦你完成編碼,就可以運行代碼了,NetBeans也可以在后臺為每個項目創(chuàng)建一個Ant生成文件,對開發(fā)人員來說,Ant生成文件是一個非常有用的資源,開發(fā)人員可以用它精確地控制IDE的生成過程。

NetBeans還附帶了一個分析器,一個Juint單元測試生成器,以及一個國際化字符向?qū)?,對于企業(yè)級開發(fā),它提供了綁定Tomcat或GlassFish Open Server的下載選項,為了監(jiān)控運行的應用程序,NetBeans集成了對JMX(Java管理擴展)和Jconsole的支持。

NetBeans的插件數(shù)量遠遠少于Eclipse,和IntelliJ IDEA的插件數(shù)量相當,其中好多插件都是從Eclipse平臺移植過來的,正如我前面提到的,許多Eclipse插件開發(fā)者現(xiàn)在都不再往其它平臺移植了,但如果NetBeans繼續(xù)以最近5年的速度增長,也許情況會有所變化,就目前而言,插件是NetBeans最大的弱項,其它方面NetBeans算得上是最用戶友好的IDE了。

51CTO推薦專題

[[16654]]

#p#

Oracle JDeveloper Studio 11g (11.1.1.3.0)

Oracle的JDeveloper Studio和這里比較的其它產(chǎn)品有很大不同,那句“走自己的路,讓別人去說吧”的名言用來形容它最合適不過了,首先它不是免費的,源代碼不對外開放,確切地說,它更像是Oracle的內(nèi)部開發(fā)工具。

受Oracle的影響,JDeveloper在某些方面顯得非常狹隘,但它也有其獨到之處,有趣的是,Oracle公司其它產(chǎn)品的版本號永遠不能超過其核心產(chǎn)品 – 數(shù)據(jù)庫的版本號,因此我們經(jīng)??吹絆racle產(chǎn)品的版本號都很長很長。

JDeveloper的安裝很簡單,但最終在系統(tǒng)中注冊的產(chǎn)品名稱居然是“Oracle融合中間件”,大多數(shù)人認為開發(fā)工具不屬于中間件范疇,但Oracle堅持這樣分類估計是想強調(diào)其對中間件開發(fā)的支持強度,例如,JDeveloper為ADF(應用程序開發(fā)框架)和Java Server Faces(JSF)組件集提供了許多支持,也支持TopLink(Oracle從BEA收購取得的持久化層),JDeveloper也提供了大量的Java EE工具,包括一個Weblogic Server的嵌入式版本,它可以在IDE內(nèi)啟動和管理。

如果從上到下全部使用Oracle軟件堆棧中的產(chǎn)品,JDeveloper一定不會讓你失望,例如,你可以將ADF中的Oracle JSF組件切換成其它廠家的,你還可以做一些所見即所得的UI開發(fā)。


圖7 JDeveloper編輯器,底部面板用于管理嵌入的Weblogic Server實例

JDeveloper和其它IDE比起來,其響應速度較快,幫助信息也很全,按下幫助組合鍵,屏幕很快彈出相關(guān)的幫助信息,在這方面,它提供的幫助信息和其它IDE比起來,其上下文感應能力更強。JDeveloper也內(nèi)置了分析器,可以測量性能和內(nèi)存消耗,它的語法檢查器還發(fā)現(xiàn)了一向自詡的IntelliJ IDEA的代碼校驗工具未能發(fā)現(xiàn)的錯誤,功夫不負有心人,Oracle在這方面下了大力氣,效果就是不一樣。

JDeveloper的弱項是缺乏一個強大的插件生態(tài)系統(tǒng),這和Oracle此前忽略該領(lǐng)域的決策息息相關(guān),不過現(xiàn)在Oracle已經(jīng)醒悟了,雖然JDeveloper也有不少插件了,但大部分都是公司自己寫的,幾乎看不到第三方貢獻的插件,我找了很久都沒有發(fā)現(xiàn)代碼覆蓋分析插件,這是阻礙JDeveloper發(fā)展的一個重大限制。

Oracle清楚地表明JDeveloper將繼續(xù)作為公司的主要開發(fā)環(huán)境,對于那些致力于Oracle軟件堆棧開發(fā)的組織而言,JDeveloper是不二之選。

下表對幾個流行的Java IDE做了一個概述:

Java IDE 平臺 成本 總結(jié)
Eclipse 3.6 Java 5,Mac OS X,Windows,Linux 免費 Java IDE市場的絕對領(lǐng)導者,每年一次重大發(fā)布,第三方插件非常豐富,但Eclipse難學,難用,簡單任務被復雜化
JetBrains IntelliJ IDEA 9.0.3 JDK 5或6,Mac OS X,Windows,Linux $295 本次評測唯一的商業(yè)軟件,其功能完善,易用,但文檔仍然不夠完善
NetBeans 6.9 JDK 6,Windows,Mac OS X,Linux 免費 一款優(yōu)秀的,易于使用的完整IDE,支持除Java外的許多編程語言,其插件沒有Eclipse多,功能沒有IntelliJ IDEA完善
Oracle JDeveloper Studio 11g JDK 6,Windows,Mac OS X,Linux 免費 一個穩(wěn)定的,閉源的Java IDE,良好的企業(yè)級開發(fā)支持,和Oracle其它產(chǎn)品結(jié)合緊密,插件數(shù)量很少,幾乎都是官方提供的
 

#p#

其它IDE

為什么有這么多廠商和開源愛好者為Java編寫IDE仍然是個迷,之前我們曾介紹了9款Python開發(fā)工具,Java IDE領(lǐng)域也毫不示弱,但Java已經(jīng)很成熟了,因此現(xiàn)在已經(jīng)很少出現(xiàn)新的IDE,下面這些曾經(jīng)資深的開發(fā)環(huán)境都面臨退役了。

Embarcadero JBuilder:目前該產(chǎn)品的最近一個更新版本還是JBuilder 2008,根據(jù)Embarcadero公司的發(fā)言人表示,2008年從Borland公司買下其IDE產(chǎn)品線后,改名為CodeGear了,鑒于公司還在開發(fā)其它IDE,如Delphi,因此可以認為JBuilder已經(jīng)走到了生命的盡頭。

Genuitec MyEclipse:MyEclipse是一個基于Eclipse,捆綁了一組插件的訂閱產(chǎn)品,前面我們曾提到,Eclipse插件的尋找,安裝和管理都很繁瑣,而MyEclipse正是為此而生,Genuitec也開發(fā)一些自己獨有的插件,MyEclipse的訂閱價格每年從$32-$199不等,包括技術(shù)支持費用。

IBM Rational Application Developer:這個IDE(即著名的RAD)是IBM推出的一系列開發(fā)環(huán)境中的一部分,RAD和它的兄弟們都是基于Eclipse構(gòu)建的,簡而言之就是在Eclipse基礎(chǔ)上換了一張皮,加入了一些自己的東西,如架構(gòu)師版本提供了UML建模工具,商業(yè)開發(fā)版本支持IBM的4GL等,如果你在使用WebSphere,這些工具的威力就可以顯示出來了,但大多數(shù)功能和MyEclipse及其他免費的IDE并沒有多大區(qū)別。

【51CTO編輯推薦專題】

  1. Eclipse平臺應用與開發(fā)詳解
  2. NetBeans應用開發(fā)詳解
  3. 精通MyEclipse應用開發(fā)
  4. 開源框架Eclipse發(fā)展歷程
  5. Eclipse 3.6新特性與應用開發(fā)詳解
責任編輯:佚名 來源: it168
相關(guān)推薦

2013-07-10 09:20:24

開源監(jiān)控管理工具

2013-05-30 09:17:05

云工具

2010-10-11 09:34:35

AjaxASP.NET

2018-12-27 16:50:01

Java開發(fā)表達式

2017-08-04 09:45:28

網(wǎng)絡(luò)監(jiān)控工具

2010-11-22 15:25:08

2011-04-14 10:38:58

Java編程Java

2019-04-23 08:00:25

大數(shù)據(jù)可視化工具數(shù)據(jù)分析

2017-01-05 15:38:33

機器學習開源框架

2017-03-08 15:08:16

開源開源項目

2017-12-29 05:48:57

2013-06-28 10:41:07

產(chǎn)品經(jīng)理

2017-08-29 08:35:31

2010-03-22 14:13:28

2015-07-17 09:50:16

Carthage優(yōu)劣比較

2022-03-16 23:17:57

React JS前端工具

2011-10-21 13:59:48

Java云計算

2011-03-21 09:01:49

CSS框架

2017-03-02 08:28:09

科技新聞早報

2017-08-03 15:16:27

點贊
收藏

51CTO技術(shù)棧公眾號