這兩款JAVA IDE都是一流的開源軟件,那么對於廣大的JAVA學習者及開發人員來說,那款更適合自己呢?本文通過圖文對這兩款軟件進行多方面的分析比較,僅供參考之用,以期讓廣大的JAVA學習者少走彎路而已。
1. 簡介
NetBeans:在2000年6月由Sun公司開源,其項目包括兩個系統:NetBeans IDE,一個開源的集成開發環境(IDE);NetBeans Platform,一個應用程序的通用框架。我們說的NetBeans一般指其IDE。其是以純Java編寫的,但具有Windows環境及OS X環境的本機界面風格。
Eclipse:是一個相當著名的開源Java IDE,由IBM公司開源。Eclipse主要以其開放性、極為高效的GUI、先進的代碼編輯器等著稱,其項目包括許多各種各樣的子項目組,包括Eclipse插件、功能部件等。任何人都能夠輕易的將自己的軟件做成Eclipse的插件,而且這些插件只需簡單的復制到Eclipse的插件文件夾下就可以被集成。主要采用SWT界面庫,支持多種本機界面風格。
要得到這兩個系統,只需去網上下載即可。下載和使用都是完全免費的。並且,你還能夠從其項目主頁上下載其源碼。當然,你也需要同時遵守各自的協議。
2.特性比較
(1)GUI
NetBeans 由於采用了純Java開發並以Swing庫編寫GUI,因此界面色調偏暗,使用起來跟本機程序感覺不同。開始時可能會有些不習慣。如果使用JDK1.5.0版加載,其增強的Swing庫會讓NetBeans的界面看起來舒服不少。
Eclipse GUI相當漂亮,且簡潔高效。甚至Microsoft的VS.net都抄襲了它的界面風格。由於采用了SWT界面庫,因此在多種平台下的Eclipse都具有該平台的界面風格,使用起來就和通常的本地程序一樣。
(2)文檔
NetBeans 基本上都是在線文檔,有聯機幫助、IDE使用指南、快速學習指南、支持和文檔,另外還具有Javadoc文檔索引搜索功能。
Eclipse 基本上是本地文檔,不過其幫助系統會首先建立一個本地的網頁服務器以顯示其文檔,因為這些文檔都是jsp格式的。所有插件及功能部件的幫助文檔都會統一安排到Eclipse幫助中心的首頁,瀏覽起來很舒服,並且有很強的搜索功能。
同時,IBM的知識庫中提供了大量Java及Eclipse相關的文章。
(3)在線升級
NetBeans 提供。
Eclipse 提供。
(4)國際化支持
NetBeans 主界面的中文化程度相當高。在線文檔也提供了中文版。
直接提供了為程序增加國際化支持的功能。
Eclipse GUI提供了中文包。但個別部件沒有中文。
帶有詳細的中文幫助文檔。
(5)Web/J2EE開發支持
NetBeans 支持 Servlet 2.4 和 JSP 2.0。
支持使用 Tomcat 5 部署和調試兩層 J2EE 1.4 和 1.3 應用程序。
Eclipse 插件支持。
(6)數據庫支持
NetBeans IBM DB2
Oracle
Pointbase
Microsoft SQL Server
MySQL
Eclipse 插件支持。
(7)項目管理特性支持
NetBeans Eclipse
CVS(版本控制) √ √
SVN(版本控制) ? √(插件支持)
JUnit(測試框架) √ √
Refactoring(代碼重構) 部分支持 √
Javadoc(文檔生成) √ √
(8)代碼編輯特性支持
NetBeans Eclipse
代碼折疊 √
智能括號/引號 √
智能補全代碼 √
自動格式化代碼 √
書簽支持 √
任務/問題列表 √
錯誤提示及更正建議 √
特有功能 縮寫擴展: 只要填寫一個縮寫詞,再按空格鍵即可自動生成語句。如打入sout,然后按[空格],則"sout"會被擴展為"System.out.println(""); "
自動注釋: 一個非常易用的為代碼編寫Javadoc注釋的工具。
類/方法導航器:和VB中的那個函數導航器差不多,用組合框進行選擇。
快速類型層次瀏覽:可以在編寫代碼時直接查看相關類的層次結構
本地歷史記錄:可以瀏覽代碼從創建至今所經歷的改變,並且能夠將代碼恢復到任何一次保存過的狀態。
拼寫檢查:可以在編寫代碼時給出拼寫建議
元素標記:可以高亮顯示某個范圍中指定元素(變量/類等)的出現情況
方法出口標記:可以標記方法的所有出口
異常拋出標記:在代碼中標記會拋出異常的位置
智能代碼模板:只需填寫開頭詞,再按Alt+Tab即可出現代碼補全列表及代碼模板列表。
如打入for,然后按[Alt]+[Tab],在出現的列表中選擇iterator over array,則一個對數組進行迭代的for循環會自動生成,系統會自動猜測數組名。
可以用[Tab]在自動變量里切換並更改變量名。
此方法還可以調用快速智能輔助等輔助編碼功能。
此外還有其他許多簡化編程的特性。
(9)GUI設計能力
GUI庫支持 NetBeans Eclipse
SWT ? √
SWing √ √
AWT √ √
Beans √ √
概述 具有極其簡單易用的GUI設計器,可以與VB、Delphi的窗體設計器相提並論。
輕松簡單的屬性及事件編輯。支持窗體快速預覽。
獨立的窗體文件和代碼文件緊密關聯,設計器自動為窗體生成只讀代碼。
速度比較快,資源占用較少。
Eclipse的GUI設計器是一個叫做Visual Editor的部件。
其設計器將工作區分隔為代碼區和界面區,在任何區域的更新都將反映到另一個區域。
窗體會自動預覽。仿Delphi的組件板設計得漂亮又直觀。
窗體設計器生成的代碼可以直接改寫。
沒有專用的窗體文件,窗體是實時按代碼生成的。
速度很慢,資源占用比較高。估計需要512MB內存才能跑起來。
其Swing界面的設計似乎不支持Abosolute布局方式。
總的來說,盡管很漂亮,但表現只能說是差強人意。
(10)調試器能力
NetBeans 在代碼行開頭點擊即可設置/取消斷點。
支持條件斷點、單步執行等流程控制功能。
支持局部變量、監視、堆棧顯示等功能。
支持會話、線程的查看及修改。
提供了完善的遠程調試功能。
操作簡單,功能強大。
Eclipse 帶有專用的Debug視圖並能自動切換。
其Debug的功能和Delphi的Debug比較相似,Inspect、Watch等應有盡有。
支持反匯編、內存、堆棧、寄存器顯示等高級功能。
支持會話、線程的查看及修改。
似乎沒有遠程調試能力。
小結
NetBeans 一款不可多得的Java IDE。
其窗體設計器及其調試器尤其讓人印象深刻。其易用性甚至讓人想起了當年的VB。
眾多小功能大大方便了開發人員。其他方面的功能也相當不錯。
盡管使用了純Java開發,但總體的資源占用不多,速度也比較快。
遺憾的是,其窗體設計器不支持SWT庫的界面設計。對於代碼重構支持不夠。IDE采用的界面沒有采用本地界面,讓人多少有些不大習慣。其選項配置略微繁雜了些,菜單設置不夠合理,尚待改進。而本地文檔的缺少對於無法上網者或是窄帶上網者來說,是一個很嚴重的問題。
另外,筆者沒有發現項目的JAR生成選項,對於發布軟件來說,這應該是個不小的紕漏。
Eclipse 絕對是一款相當好用的程序開發平台。
其代碼編輯器十分先進,眾多的編碼輔助功能相當實用。盡管微軟的VS.Net系列從很早就已經開始模仿Eclipse的風格,但是直至如今的VS.Net 2005,也還是只能“逼近”Eclipse的水平。
相當創新的集成化GUI也讓人們耳目一新。而開放式的平台則給了Eclipse在眾多開發平台中前所未有的擴展性。通過插件,我們能夠在Eclipse中進行所見即所得的窗體設計,能夠開發C/C++軟件,能夠進行Web項目開發及測試,還能夠進行企業級軟件的開發管理和性能測試。如果你需要什么功能,那么只需要去找來插件直接安裝就行了!
更為值得推崇的是其中率先集成的CASE工具讓軟件開發更科學高效。其中不僅有CVS,甚至集成了最新的版本控制程序SubVersion(SVN),這大大促進了協同開發的效率。對重構的直接支持,則有助於提高軟件的質量。直接集成的JUnit則提供了在軟件開發中使用TDD(Test Driven Develop)方法的一個便捷且低廉的實現方案。而Borland的JBuilder則全面抄襲了這部分功能。
可惜VE的資源占用太高,而為了實時生成窗體而付出的時間代價則更是巨大,甚至有時會讓人無法忍受。
這是一個高品質的開發平台。也許唯一的遺憾就是其資源占用問題吧。
eclipse是開源免費的,只適合做網站,很少做桌面程序和手機軟件。
netbeans是收費的,可以做網站,手機軟件,和桌面程序,因為它提供了可視化開發工具,不像eclipse要手敲代碼,不過eclipse也可以安裝插件來實現開發手機軟件和桌面程序.
一般用eclipse/myeclipse比較多,netbeans很少。所以建議學eclipse或myeclipse(其實eclipse和myeclipse差不多,不過后者功能強一些,建議學后者)