如果我只想在其中使用Java,那么Eclipse和Netbeans之间有什么区别?

我最近为自己买了一台戴尔XPS 64位Vista。 Eclipse没有他们的64位版本,但我在论坛上读到他们下载Eclipse并在Vista上使用Java 1.5只有一些问题。 我有Java 1.6和Netbeans可以轻松下载。

如果我现在从Eclipse转向Netbeans,我会注意到的基本/重大差异是什么?

可口可乐和百事可乐有什么区别?

好吧,它并不是那么相似,但很多不同之处在于定性方面。 说到Netbeans 6.1和6.5:

  • Netbeans具有非常不同的UI和工作流程。 没有透视图,但工具栏等会根据需要自动显示/隐藏(即调试)。 构建过程是不同的。 管理项目是不同的。

  • Netbeans专注于平滑,集成的体验,有时以牺牲function为代价。 Profiler完全集成到编辑器中(上下文菜单允许您快速操作分析器),但缺少Eclipse分析器的一些特性。

  • Netbeans具有紧密集成的JSP / Servlet / JSF开发环境。 整个工作流程从开发,调试,部署连接在一起。 这更像是一种“感觉”而不是其他任何东西。

  • Netbeans编辑器缺少几个Eclipsefunction。 拼写检查是一个突出的。 快速完成(Ctrl-K,Ctrl-J)是未充分利用的Netbeansfunction。 片段是另一个(虽然他们有一个自动完成的模板,填补了不同但相似的利基)。

  • 少选择。 如果你不喜欢其中一个包含的工具,你不太可能找到一个好的替代插件。

  • 马蒂斯。 Eclipse GUI编辑器已经开始迎头赶上,但它们根本无法与Matisse进行比较。 从表面上看,它们似乎相当……

  • 你的朋友会取笑你。

也许当你同时处理几个(很多)项目时,我更喜欢Eclipse(Workspace组织很棒)。 界面似乎也更好地响应Eclipse(至少与旧版本的NetBeans,如5.0)。 这与SWT vs Swing性能问题有关,尽管差异不如Java 1.4天那么大。

但是我会说Netbeans是一个更好的集成IDE,无论您是在开发桌面应用程序还是JSP / Servlet Web应用程序,都以相同的方式启动/调试应用程序。 构建完全依赖Ant(因为我认为版本4),而Netbeans透明地启动/添加ant目标。 Eclipse中的Ant具有与粘在汽车前部的一对牛角相同的集成度。

Eclipse比Netbeans更具扩展性,但最后一个更加统一。

我认为这将主要是文化冲击。 在不同的地方的事情。 function命名不同的东西。

如果你真的想给Netbeans一个尝试强迫自己使用它一个月。 它会在第一天左右吮吸,因为没有一个快捷方式是相同的,各种成语会有所不同等。

在月底你将有足够的能力,这些东西应该已经消失,你可以客观地决定你是否更喜欢它。 (我目前正在尝试使用IntelliJ顺便说一句。当前状态,困惑;-)

为什么不同时使用?

我喜欢netbeans性能分析工具比eclipse好得多,因为它们在Linux上直接开箱即用。

Eclipse我用于正常编辑,mylin工具真正帮助您以面向任务的方式工作。

Netbeans支持导入eclipse项目,因此如果需要,您可以同时使用IDE处理单个项目。

不幸的是,你也很快发现Netbeans比Eclipse更不稳定。 我认真尝试(超过一个月;))到6.1,这对我来说是更明显的“特征”。 有时,简单的鼠标移动就足以杀死应用程序。 自5.x以来他们取得了巨大的进步,但是imho,Netbeans仍远远落后于Eclipse。

我最近一直在尝试使用Netbeans 6.5并且已经找到/理解:

  • Netbeans有更好的新语言支持(因为它是新技术的“参考”IDE /实现)
  • 与上面类似,但是Eclipse 仍然没有与sun的javac的1-1通用兼容性或者“使它兼容”的选项(Eclipse在推断类型方面过于聪明 – 正确,但如果你的构建机器无法制作则没有好处它)
  • 没有立即需要插件 – 内置subversion(和Mercurial?),并且由于它与ant很好地集成,我发现对Ivy等插件的需求较少。
  • 多个类路径 – 您有编译时,运行时,测试编译时和测试运行时。 这意味着如果您添加某些内容作为测试依赖项(您的构建脚本知道),则主代码将无法看到它。 同样,非常适合IDE /构建服务器的一致性。

  • 标记导航是通过任务列表而不是通过当前文件。

  • Netbeans更新标记的速度要慢一些(可能是因为ant编译而不是eclipse的三重编译器)。 当尝试快速导航和修复任务标记时,这会导致巨大的问题。

Netbeans的基本工作流程更加顺畅和可靠; 像^ X这样的小东西可以正常切割当前行。 它也很简单,可以理解它在做什么。

otoh,Eclipse本身具有emacs作为平台的品质; 有些人发誓。

编辑:我改变主意,遇到HyperAssist: https ://bugs.eclipse.org/bugs/show_bug.cgi ? id = 159157

很简单,HyperAssist插件填补了让Eclipse免于获得金牌的缺失部分; 有了它,Eclipse是我用过的最好的IDE。

构建系统是不同的。 Eclipse有一个内部构建机制,而NetBeans依赖于ant。

流行的Mylyn生产力工具是一个仅在Eclipse中可用的关键function。

Joel on Software论坛的参与者写道:“我被Eclipse的一些function所吸引,特别是:Mylyn,并想尝试一下。” http://discuss.joelonsoftware.com/default.asp?joel.3.703449

Mylyn提供对您的错误和问题跟踪器的集成访问。 当您处理错误或问题时,Mylyn仅将Eclipse UI集中在与手头任务相关的代码上。