作者:不详 来源:CSDN博客   酷勤网收集 2008-01-01

摘要
  NetBeans 一款不可多得的Java IDE。其窗体设计器及其调试器尤其让人印象深刻。其易用性甚至让人想起了当年的VB。众多小功能大大方便了开发人员。其他方面的功能也相当不错。Eclipse 绝对是一款相当好用的程序开发平台。其代码编辑器十分先进,众多的编码辅助功能很实用

这两款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界面库,支持多种本机界面风格。

要得到这两个系统,只需去网上下载即可。下载和使用都是完全免费的。并且,你还能够从其项目主页上下载其源码。当然,你也需要同时遵守各自的协议。

.特性比较

(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的资源占用太高,而为了实时生成窗体而付出的时间代价则更是巨大,甚至有时会让人无法忍受。
    这是一个高品质的开发平台。也许唯一的遗憾就是其资源占用问题吧。

评论

#  bbiao 发表于2007-03-30 16:19:45  IP: 218.94.9.*
缩写扩展在Eclipse中也有的啊,类似的像sysout,然后按ALT+"/"

#  zhangjianying 发表于2007-03-30 17:06:41  IP: 211.142.211.*
在工程导航中鼠标右键菜单下有个生成项目的选项,运行之后就生成jar

#  tdchwish 发表于2007-03-31 09:08:07  IP: 59.42.226.*
各有特色

#  yixilee 发表于2007-03-31 19:45:50  IP: 221.237.75.*
真的,这份比较我觉得很好.
个人觉得还是eclipse比较好!

起码目前是这样!

#  pierrexqw 发表于2007-03-31 22:28:14  IP: 221.6.69.*
谁说Netbeans不支持SVN?它也可以通过插件支持!
谁说Netbeans不支持jar的生成?在项目上点右键就可以看到!

Netbeans好处在于它的插件没有Eclipse那么混乱,并且在Linux下它比Eclipse要快。
要说缺点,那就是它不支持swt了。Swing发展到现在,我看不出来它究竟哪点比swt弱。而用swing做的界面显然在尺寸上要比swt做的小,swing的一个窗口只需要三两行代码,而swt则一定要戴上一个内裤。

#  pierrexqw 发表于2007-03-31 22:30:58  IP: 221.6.69.*
netbeans的代码重构功能同样好用,也有本机文档。
实际上市面上有本关于netbeans的书,里面的内容就是完全抄袭NB的本机文档。

#  jiangshachina 发表于2007-04-01 14:28:12  IP: 210.51.173.*
以前只使用Eclipse;目前是上班时用Eclipse,下班后用NetBeans。
根据我个人的感觉:
Eclipse要人性化些,界面,文本格式与编码处理都很方便;NetBeans的界面不如Eclipse好看,也不能自由的设置文本文件的编码。
Eclipse的灵活程度明显强于NetBeans。

但NetBeans是一款真正的IDE,Eclipse可能更多是作为一种平台。本来插件应该是Eclipse的优势,但对于乱七八糟的插件,也感到有点烦。NetBeans已经提供Matisse,Profiler,VWP,Enterprise Pack,...,每一个应该都很优秀。这样都为开发者提供了方便。
个人最喜欢Matisse和Profiler :D

总的来看,两者各有千秋,都要支持。

#  soul1543 发表于2007-04-06 10:55:57  IP: 211.95.168.*
昏了 还没有用过就不知道该用哪个好了

#  xhinker 发表于2007-04-06 22:19:23  IP: 218.10.59.*
作者对netbeans有偏见,对netbeans 不是真正了解
特别是编辑器方面,netbeans的好多功能博主都没有列出。实在是一个遗憾

#  geqwang 发表于2007-04-08 22:20:05  IP: 222.38.25.*
NetBeans用起来很方便的,很体切人意的!!

#  smzen 发表于2007-04-09 12:55:38  IP: 124.129.108.*
我也感觉作者在发表文章时有些偏见,Eclipse固然好,但也不能拿自己长处和别人短处比,应该好的都说,坏的也说,这才公平,尤其是发表比较的文章时,更不能说哪个好哪个坏...

#  marshal_li_b 发表于2007-04-10 00:17:46  IP: 210.30.109.*
作为一个初学者,两款IDE小弟都曾用过一段时间,感觉如果只是编写应用逻辑还是ECLIPSE比较好用一些,而且用的人也很多,文档在网上很容易找到,所以现在一直在用,netbeans的好处在小弟使用中不是很突出,而且身边用的人也不多,不过感觉它将来一定会更好,毕竟给了我们多了一个选择,ps:作者确实给人一种有偏见的感觉,选择最适合自己的才是最好的,没必要学网络游戏或者一些bbs上的做法天天打嘴架

#  rickqin 发表于2007-04-16 12:06:05  IP: 218.4.52.*
是哎~~我又是Ec的用户又是Nb的用户,我个人感觉还是Nb好用一些。而且楼主好像对Nb并不是很清楚,很多东西只是只知其一不知其二。
有一个老外写的Nb和Ec的对比,大家可以去sun的个人blog上看一看,那个写的很中肯,而且时效性也高。

#  zhangfengchina 发表于2007-05-22 15:06:26  IP: 202.198.158.*
我是netbean使用者,看了上面平论,也想体验一下eclipse,不过,每一个人只要觉得适合自己就行,可以两者都试试吗。

#  tirone010 发表于2007-06-05 14:37:44  IP: 61.136.151.*
笔者没有发现项目的JAR生成选项,对于发布软件来说,这应该是个不小的纰漏。

我看是你的纰漏。

你说netbeans不支持swt。因为netbeans支持纯swing.还需要swt那样有妈没爹的东西干嘛?

不要把eclipse的特有的东西拿来和netbeans来对比。
要比就比都有的功能。这样说来,理论上谁都不相上下。
但是在切换平台以后,eclipse不一定能和netbeans有的比。

#  andyivy6 发表于2007-08-10 15:59:41  IP: 221.237.70.*
学习

#  flyshow45 发表于2007-08-30 19:21:16  IP: 211.95.165.*
不知道博主是不是先用了很久Eclipse以后再试用过netbeans的 我最近试用了一下MyEclipse6.0 但是整个Eclipse的风格倒让我无法一下适应 虽然Eclipse插件很多 但是其性能却良莠不齐 比如GUI设计器 eclipse下的VE/JIGLOO/SWT Designer我都下来用过了 但是都其功能都不够齐全。而且Eclipse的设置项貌似比NetBeans复杂多了。而且NB还可以直接导入JBulider eclipse的整个项目文件夹,但是eclipse里面我没有找到类似功能。

#  lxutao 发表于2007-09-05 13:48:46  IP: 222.66.168.*
http://gceclub.sun.com.cn/NASApp/sme/jive/thread.jsp?forum=30&thread=46419

#  LordSimon 发表于2007-11-02 17:04:40  IP: 219.149.11.*
没用过Netbeans就不要乱写文章,谢谢。

#  TJPU99999 发表于2007-12-05 17:53:24  IP: 60.28.33.*
我爱NB

来自:http://blog.csdn.net/java060515/archive/2007/03/29/1545000.aspx

分类: 开发工具 管理工具 修炼之道



关于酷勤 | 联系方式 | 免责声明 | 友情链接