1. 程式人生 > >NetBeans VS Eclipse

NetBeans VS Eclipse

從前不久開始, www.theserverside.com ,www.javalobby.org ,dev2dev論壇等多個Java論壇上爭論著一個非常激烈的話題:Why Eclipse Developers Are Moving To NetBeans(為什麼Eclipse 開發者正在轉向 NetBeans)。不知道是什麼原因,如此簡單的爭端到了後來也會有些發黴的味道。
  不能否認,這些言論最初可能是發自一個NetBeans的忠實使用者,難免言談之間會有所偏見。不過據理力爭,其說法也並非全無可取之處。尤其不解的是一些人將這些文字擷取過來加上問號,然後橫批一通,不久又有人在這樣的基礎上加上“真的嗎”之類文字,再後來就一發不可收拾……最可笑的是有人從來沒有用過NetBeans,居然把它批得一無是處。
  還是先看看最初的討論中說了些什麼吧:為什麼Eclipse開發人員在轉向NetBeans
  “儘管本週為市場服務的兩篇文章並不是新聞報道或者科技文獻,但是兩個現代計算領域的神話在現實中已經被慢慢打破了。這兩個神話就是:Eclipse發展快而NetBeans發展慢;必然結論是SWT發展快,Swing發展慢。”這兩種說法是從IBM/Eclipse Foundation鼓吹市場的核心理論。隨著EclipseCon 2005 的宣傳,以新聞報道的方式發表了很多文章,其中一篇在JavaLobby上引起了激烈的爭論。
  實際情況與IBM和市場和宣傳有所不同。美圓可以買到當前的潮流但不一定預示Eclipse的美好前景。Eclipse的後續版本已經放慢了,比起前面的版本更加資源稀缺,而NetBeans3.5後的每個版本都越來越快。這個問題變得很引人注目,Eclipse組織正在針對可用性進行工作而如此同時還要面對日益激烈的批評。這不僅是因為效能方面的原因而且還有可靠性方面的原因。
  NetBeans的速度很快(至少在Linux上比Eclipse快,而且我認為它已經接近Windows上的Eclipse速度)。
  對於非Windows平臺上的Eclipse。基於Swing開發環境的NetBeans 4.1和IntelliJ IDEA已經向我們展示不僅Swing有能力提供更高的效能而且它還提供了Eclipse不具備的一些很有競爭力的特性。NetBeans的使用者介面已經被轉換成開發人員所描述的那種“直覺型介面”,而Eclipse卻不是。於是,很多Eclipse開發人員已經選擇了NetBeans,而其它人也開始開始轉向NetBeans。儘管Java和Eclipse的論壇在爭論“為什麼Eclipse很慢”、“為什麼Eclipse會停滯25秒”、“crashes”等一系列問題,但很快爭論的焦點就轉移到或許並非僅僅是Eclipse的架構問題,還有SWT只在Windows上進行了優化且並沒有它的支持者所說的那麼快,一些觀察家也提到了這個問題。真的值得這麼做嗎?SWT開發是一個巨大的、不必要的開銷,Eclipse Foundation的成員共同承擔著。他們已經實現了第三代的Java2D但只是發現了延遲佈局的好處。SWT很容易會成為7年前的AWT。所有這些和Eclipse正在讓Eclipse使用者感到倒退。
  回首這幾年,java開發工具“你方唱罷我登場,各領風騷數百天”。2002年,IntelliJ IDEA 得到了第12屆jolt最佳開發工具稱號;2003年,JBuilder得到了第13屆jolt最佳開發工具稱號;2004年,Eclipse得到了第14屆jolt最佳開發工具稱號;今年,第15屆jolt最佳開發工具稱號仍然被Eclipse獲得。
  眾多的調查機構研究表明Eclipse之所以如此受人歡迎,主要原因有兩點:其一是開源,其二是採用可擴充套件的外掛機制。事實上,這兩點也正符合人類在現實世界的追求,開源意味著自由開放,可擴充套件的外掛機制意味著可持續的發展。
  Netbeans在這方面的特性似乎並不比Eclipse有太多的劣勢。並不是說NetBeans和Eclipse誰更好,誰更優秀,只是想說一下看法,NetBeans 4.0,4.1是值得關注的。http://www.netbeans.org 上列出10大理由,至少有兩點,能引進很多人的注意,
  1、完全基於ant的專案管理
  2、profile對專案執行進行監控
  哪個更快,我下了最新的jbosside1.5-preview(已經包含eclipse3.1M5a,為了提供和nb4.1相當的功能),和NetBeans4.1beta,使用sun jdk 5update2,jdk1.4.2(linux下用blackdown的jdk)。
  1、NetBeans啟動比 eclipse要快得多。
  2、建一個專案, eclipse已經讓我無法忍受。
  再來看看充滿爭議的swt和swing,
  1、swing可以借jvm來提高效能,就使用jdk5來說,eclipse gui 效能沒有任何提高。
  2、swt 自稱是native look&feel,這是唯一可以用來抨擊swing的地方,但是就我使用的情況並不是如此,在linux絕大數主題不能很好的應用,有些主題是面目非,這類情況可以 www.linuxsir.org 的java 版找到。swt沒有任何效能優勢,這是swt 設計人員說的,不知道為什麼到了國內出現 swt 比swing要快得多的結論。上面的文章還指出 swt 還是在awt 7年前的水平。jdk5的gui完全重寫,預設已經非常漂亮,速度快了很多(按sun的說法提高了一個數量級,雖然覺得有點誇張,但在我機器上nb啟動至少比使用jdk1.4.2快了一倍)。java GUI在java 5中得到徹底的改變,jdk 5內建win,linux(gtk2,motif),mac 系統介面,java 5 可以通過xml配置檔案輕而易舉的使用 Skin ,可以參考ibm網站的一些文章。
  值得關注的NetBeans細節,
  1、方便的國際化功能。
  2、完整的j2ee開發,web.xml視覺化編輯,ejb嚮導式的開發。(這些只在wsad中有)
  3、基於ant的專案管理,方便管理 ,移植 。
  4、完整的中文支援(中文介面,幫助,教程)。
  5、資料庫,伺服器的整合(還在開發中)。(在eclipse要一大堆的外掛)
  我身邊也有很多人用eclipse,大多數人和裝linux一樣,只是一個擺設而已。我也裝了eclipse,同樣也是一個擺設。我在公司用jbuilder 9(是不是太落伍了?)用來寫純java ,其它 jsp,html ,css,js 都是用editplus完成。
  本站蒐集了一些在國內諸多論壇的爭論,整理後附上。還是一樣的話,並非是說netbeans 和eclipse哪一個更好,只是就目前看來,似乎netbeans有著很多不好的影響。競爭是件好事,尤其是作為開發工具,其最終目的應該是怎樣,可能你我都清楚。
  "單純的ide來講,netbeans4.1真的太優秀了,j2ee開發比eclipse方便得多,速度方便eclipse3比2又慢了一大截,而nb得益於jdk5的圖形庫的重新設計,在jdk5下速度比以前的nb快很多。"
  "從平臺的角度,eclipse佔了優勢,基於的eclipse東西太多了,這也導致eclipse的混亂,eclipse一直缺少統一的plugins管理機制,而各廠商各自為營."
  "netbeans4比以前有了許多的改進,對ANT J2EE等的支援有了很大改進。對的web開發的支援也比基本的eclipse強了。"
  "netbean還是不錯的,但是eclipse的外掛確實太豐富了,而netbean這方面差很多,外掛較少~~~"
  "現在因為工作需要從idea轉到eclipse上來,感覺使用eclipse很不習慣了,還需要安裝一堆的外掛,外掛之間還經常出現衝突,各個外掛支援的eclipse版本也不一樣,很不方便的。"
  "可以說,Netbeans比Eclipse容易使用。而且功能較Eclipse(沒裝plugin)強n多。但是,eclipse的plugin對版本的要求還是蠻嚴格的。呵呵,未必是好"
  "我不知道eclipse是不是“越變越慢“(我剛開始用Eclipse已經是3.0),但它的確很慢,在我的C4 2.4G+512M的機器上感覺比JBuilder2005還要慢。平時看別人說Eclipse快,我也覺得奇怪,可能在說2.X版吧。不過我沒用過"
  "快慢一般都是跟功能成反比的. 功能越強大的東西, 執行越慢. Eclipse 快嘛? 不絕對, 我裝過基於 Eclipse 2 的 WSAD 5, 什麼都能做, J2EE, UML, GUI DESIGNER, JSP, 啟動完了比 JBUILDER X 還慢, 安裝要佔 1GB 多空間. 如果說 Eclipse 快, 那我認為 JCreator 更快, 它快是因為它本身(不裝其他廠商的外掛的情況下)功能很少, 只能做 JAVA 類. 如果裝上全套的外掛, 例如做 GUI, JSP, J2EE, STRUTS, MyEclipse... 你可以看到它佔的記憶體逐步上升, 相當緩慢. 而且說實在的, 裝外掛的過程是個十分痛苦的過程.最後還是這樣: 功能越強大的東西越緩慢. 最後嘛, 還是希望大家多提高自己的水平, 不要在這些爭論上面費太多精力."
  "我已經看到開發人員為它的效能問題而抓狂了。這個問題已經持續了一年多了,它使我相信SWT存在主要設計缺陷,所以我支援Sun用Netbeans繼續做下去。"
  "記住,IBM理論上構建SWT是因為他們認為它比Swing快。他們還宣稱本地工具更可靠。現在,Eclipse出了問題。SWT並非標準J2SE的一部分。SWT跨平臺時會引起本身可靠性和效能的變化。在某些情況下,Eclipse的開發人員要面對很顯然的情形,即Swing在Linux平臺上比SWT效能高。而為了完整性而新增新的功能時,SWT就不應該再使用。結果並不好。SWT在Linux上效能不高或者至少不穩定,而Swing比SWT效能好,至少表現的是這樣。"
  "從我開始比較SWT和Swing到現在已經過去一年半了,而Eclipse和SWT釋出也已經是三年前的事情。Swing在繼續被採用,它的成長得益於JVM的改進,更高質量的Swing版本以及更好的Swing工具,還有除錯客戶端Swing程式的新方法。SWT卻沒有被應用程式採納。那些想讓SWT不止是Eclipse中建立的一種模組的人相當失望,或許被嚇暈了,因為居然幾乎沒有程式是用SWT寫成的。SWT公社主頁只提供四種應用,它們在"Games and Applications"下面。而四種之中,Azureus是唯一流行的。他們忘記了Eclipse和Haystack。另一個SWT相關網站是onEclipse,它更好的設計了SWT應用程式,但也只提供了12種。SWT釋出三年來也只有這麼少的數量。與Swing相比,這真是Swing應用中一個非常非常小的子集。以SWT為基礎構建非Eclipse相關應用是幾乎不可能的。我懷疑Thinlets或者早期Microsoft的WFC工具如果使用了這兩種工具建立的應用程式的話,肯定會更流行。"
  "開發人員在選擇NetBeans。如何選擇?NetBeans 4.1 Beta使它更易用的特性是可以在NetBeans中載入Eclipse專案"
  "競爭對NetBeans.是一件好事。NetBeans團隊對建立有競爭力的IDE非常感興趣。他們已經完全把NetBeans變成一個快速、使用者友好而且特性豐富的開發環境。開發人員正在關注並轉向最新的版本。"
  "當一些媒體還在關注Eclipse小屋美觀的外表以及有多少人從二樓陽臺上揮手時,卻很少有人注意到屋子裡一樓已經著火而且已經有人從後門逃生。"