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小屋美观的外表以及有多少人从二楼阳台上挥手时,却很少有人注意到屋子里一楼已经着火而且已经有人从后门逃生。"