Eclipse作為開發Java的IDE,從出現到現在已經有幾年的時間了,其豐富的特性,操作容易和在提高生產力方面收到了廣大開發人員的青睞。當然一提到Java IDE,人們不禁會提到其他Java IDE像NetBeans,IntelliJ等,那麼這些Java IDE之間到底存在著哪些異同呢?因此在Java開發的空間裡,對這些主要的IDEs做一個全面的比較是很有必要的,通過比較我們找出這些主要的IDEs在四個通常的開發領域:Swing, JSP/Struts, JavaServer Faces和 J2EE/EJB 3.0中哪個IDE表現的更出色。本文就從這四個通常的開發領域來比較Eclipse, NetBeans,IntelliJ。
在三個IDEs中,Eclipse是唯一個存在多個版本,從基本的版本到預先打包好的帶額外的開源外掛程式(像EasyEclipse)和開源/商業結合的(像MyEclipse)。
NetBeans 5.5:
首先來看NetBeans 5.5,NetBeans 5.5的基本資料如下表:
Vendor:Sun Microsystems
Website:www.netbeans.org
Price:Free/Open source
Distribution:Base + EnterprisePack + Visual Web Pack
安裝:
NetBeans 5.5,包括它所帶的包(像帶有 UML/BPEL/SOA的Enterprise Pack和開發JSF的 Visual Web Pack )都既可以作為ZIP檔案的形式來下載也可以跨平台進行安裝。在Windows平台下,安裝以後會與作業系統無縫的整合起來,包括案頭的捷徑和增加安裝/卸載控制台。在Linux平台下,NetBeans 5.5僅僅安裝在一個指定的目錄下並且在GNOME或者KDE案頭上建立了一個啟動的表徵圖,但是,在Linux平台下,NetBeans 5.5不能以RPM或者一個.deb檔案形式打包在一起,也不能提供一個標準的知識庫,這些知識庫可以使Linux使用者按照其他的應用來安裝NetBeans 5.5。
一般特性:
早期的NetBeans版本在開發Swing上速度非常慢,而且介面很不美觀,因此並沒有收到眾多人士的歡迎,自從5的版本以後,NetBeans開發小組已經徹底的改變了這種狀況,NetBeans 5.5和JDK 1.6的結合為使用者提供了更為出色的使用者體驗,特別在Windows平台下(Linux仍然有一些UI上的小問題,預計在NetBeans 6.0的版本這些問題會得以改善。在5.5的版本中缺少對本地GTK的外觀支援。)
在Windows系統中,NetBeans 使用起來非常的方便,像收縮/隱藏/切換等功能,面板/編輯器等配置起來也非常的容易,另外,NetBeans的菜單布局也非常有邏輯,使用起來很方便,大多數的一般功能很容易上手,一直以來,NetBeans的穩定性和效能也十分出色。
基本的Java編輯器也是相當好的,雖然在程式碼完成方面與其他IDEs相比還遜色一些,但是畢竟還是可以使用的,NetBeans也提供重構的功能(特別是最常用的重新命名/移除特性),在一些測試中,它不總是能夠進行上下文感知(context-aware),例如在Struts工程中重新命名Action類所在的包,相應的在struts-config.xml中就不能及時的做到同步更新,但是在重構JSF backing beans和更新在faces-config.xml 中的實體方面表現的很好,同時在同步更新J2EE 1.4 sessions beans和ejb-jar-xml的實體方面表現的也很好。
Swing開發:
NetBeans包括一系列的特性來開發Swing應用程式,像根據實際文本的位置來進行自動排文,它的強有力的尺寸恢複功能和固定功能使得UI設計器是任何平台的任何語言都不能比擬的。NetBeans 5.5還包括一些新的有助於提高生產力的特性,像自動進行國際化(控制每個表單/對話方塊/面板到ResourceBundle包括所有的國際化字串),使用自訂的表單/面板(只要他們在你的工程中至少編譯過一次)。
對Swing開發人員來說,使用NetBeans可以充分的利用NetBeans的強有力的RCP(Rich Client Platform)嚮導來建立新的,成熟的Swing應用。
JSP/Struts開發:
NetBeans帶有非常好的JSP編輯器,該編輯器包括我們期望的基本的特性,基本的嚮導和建立一個新的Struts工程。內嵌的Tomcat同期使得開發和調試JSP應用程式都很容易,下圖為NetBeans web應用嚮導:
NetBeans web應用嚮導自動設定web.xml檔案和struts-config.xml檔案,增加對Tiles和Validator的支援,另外,NetBeans還在struts-config.xml檔案中提供了內容菜單選項,用嚮導的方式來增加ActionForms, Actions和Forwards。提供了非可視化的編輯器來顯示在應用程式中的頁面導航功能,提供對Tiles 和Validators配置的完全支援。
NetBeans 5.5對Struts支援的非常好,但並不像發布文檔說的那樣完美,非可視化的編輯器可以用來編輯JSP或者HTML頁面,對JSP編輯器缺乏對嵌入的JavaScript的支援,JSP編輯器也只帶有一個基本的CSS編輯器(當然安裝上Visual Web Pack是更好的)。這些都有待於提高。下如為NetBeans對Struts的支援:
JSF開發:
NetBeans對JSF的支援就像對Struts支援的一樣,提供了一個基本的嚮導來建立一個工程,包括類庫,配置所有要求的檔案等,甚至在JSP編輯器中提供了對backing beans屬性的代碼補全功能。同時包括在faces-config.xml檔案中對導航規則的嚮導。