NetBeans VS Eclipse,新一輪的爭端
2024-07-21 02:14:57
供稿:網友
從前不久開始, 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等的支持有了很大改進。對的的支持也比基本的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小屋美觀的外表以及有多少人從二樓陽臺上揮手時,卻很少有人注意到屋子里一樓已經著火而且已經有人從后門逃生。"