技术中心

这里象征着我们的态度和能力

>四大顶级Java编程工具横向对比
发布者:中国IT实验室    信息来源:中国IT实验室    发布时间:2012-01-01      浏览次数:6492
分享到:

新浪微博

腾讯微博

QQ空间

豆瓣网

QQ好友

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

    好的程序员总是对开发环境有着不同寻常的熟悉,有的人可能对完整的IDE熟悉,它们也是本文的重点,还有人可能会emacs或 vi/vim这样的编辑器熟悉,但据调查发现,开发人员每隔几年就会转移到新的IDE,有可能是项目需要,或跳槽到了新公司,或是自己的偏好发生了转移。

    许多开发人员在选择新的编程工具时总会犯难,为了解开你心中的疑团,本文就对流行的Java开发工具做一次全面的横向对比,看完本文说不定就不再犯难 了。好吧,首先请各位选手登台亮相吧,它们分别是:Eclipse,JetBrains IntelliJ IDEA,Netbeans和Oracle JDeveloper。这些工具都很优秀,对重构,语法检查和调试的支持都很好,大都能直接从IDE将项目部署到服务器,并能进行远程调试。单独对比它们 的功能已经没有什么意义了,因为它们都支持插件,我们更注重的是易用性,文档和帮助系统的质量,以及插件的数量和质量。提到插件就不得不提Eclipse 基金会,长期以来它都信奉和推崇插件,Eclipse的插件数非常丰富,每次发行新版本都会同步推出大量的新插件。

    Netbeans和 IntelliJ IDEA也有很多的插件,但它们更注重用户体验,JDeveloper同样易于使用,不过插件数量就少一些,此外,它和Oracle的软件堆栈联系紧密, 从商业角度出发更有吸引力,但也正因为如此,JDeveloper才没有出现较大的插件生态系统。

四大顶级<aJava编程工具横向对比 src="http://java.chinaitlab.com/UploadFiles_8734/201111/20111124091557479.jpg">
图1 总分对比

  这些IDE都支持Java开发中用到的通用语言(JSF,HTML,CSS,XML等),有些还支持JVM脚本语言(如Groovy和JRuby),甚 至是非Java语言(如C/C++,PHP)和建模语言(UML),下表显示了这些IDE默认安装支持的主要语言清单。

四大顶级Java编程工具横向对比
图2 支持的开发语言对比

  下表显示了所有IDE对Java SE和企业开发,以及对Java ME嵌入式和Android移动开发和的支持良好程度(这里不涉及任何第三方辅助增强工具,如果要加入第三方的工具,Eclipse对Java ME的支持将有所改善)。

四大顶级Java编程工具横向对比
图3 对开发平台支持的对比

  在本次评测中,我们特别注重易用性和编码能力,我们认为它们是决定生产力和用户满意度的主要因素,它们和插件一样重要,在记分卡上会有所反映,我给每个因素设置了不同的权重,如果你不同意我的评估结果,你可以根据你的看法进行修改,并得出你自己的排名。

  Eclipse 3.6

  Eclipse是所有Java IDE中最突出的一员,其用户量和插件规模都是无人能敌的,这一切首先要感谢其创始公司IBM,IBM将其开源,成立独立的基金会,并提供持续的资助,其 它厂商和社区也可以为Eclipse做贡献,事实证明,这个决策是非常英明的,Eclipse社区非常活跃,并为其贡献了大量优秀的插件。

  Eclipse厂商独立性的好处很快就有了回报,Google公开宣布Eclipse成为Android开发的首选平台,曾经Netbeans也成为 Google的热门候选,但Oracle最近针对Android中使用的Java虚拟机而起诉Google,让Google彻底断了这个想法。

  最新版本是今年6月发布的3.6,代号太阳神,它加入了很多新的功能,稍后我会提及它们。Eclipse是自成一格的IDE,其界面布局和其它IDE有 着很大的不同,其中最重要的一个概念就是透视图,根据不同的行为,显示的透视图可能不一样,这种设计是为了满足丰富的插件使用,因此其界面布局有时会发生 很大的变化。

  在基本的Java开发环境中,Eclipse放弃了一些约定,它要求用户遵循它的规则,例如,在创建项目前需要先创建一个 工作区,项目是创建在工作区之下的,你也可以在工作区下面创建工作集,对工作区的依赖意味着项目的迁移是件麻烦事,向导提示往往让人犯晕,“放手去做”的 思想在Eclipse中行不通,几乎所有事情都需要填写对话框或选择项,要么无法区分或不直观。

四大顶级Java编程工具横向对比
图4 Eclipse IDE的Java编码界面

  例如,在未安装Groovy插件前,将一个混合了Groovy和Java的项目导入到Eclipse,如果你点击Groovy文件进行编辑,对弹出一个 菜单,包含四个选项:文本编辑器,系统编辑器,本地编辑器和默认编辑器,因为没有提供任何帮助或提示信息,在这里就只能靠猜的方法选择了,事情还没完,如 果你选择系统编辑器,Eclipse开始运行脚本,而不是打开编辑它,总之,开发人员需要有丰富的经验才能很好地驾驭好Eclipse,不要迷恋向导是真 理。

  要摸清Eclipse的底细,用户得严重依赖于帮助系统,这么多年来,Eclipse的帮助系统确实进步了不少,但仍然有不足之 处。此外,Eclipse早期版本会虚假报告错误数量,不过现在这一现象已基本得到消除,虽然每次发布新的版本都会修复一些问题,但其核心的编辑功能应该 重写和重新设计。

  我还要补充一点,在Java开发领域,Eclipse的设计问题必须要改进了,现在它面对的竞争对手一个也不差,它的 那些缺点更能说明问题,在其它领域,如C开发,原本就鲜有优秀的IDE,因此抱怨的声音也很少,Eclipse现在也是Linux下C/C++开发的主要 IDE。

  尽管存在问题,使用Eclipse的插件可以获得无限的扩展性,这也是为什么许多插件开发人员力挺Eclipse的原因,许多 优秀的Eclipse插件在其它IDE中是找不到的,因为这些插件的开发者不愿意移植,如著名的任务管理器Mylin,你只能在Eclipse中享用它。

  过去,Eclipse插件管理一直被用户诟病,因为插件之间的依赖性太强了,Eclipse已经意识到问题的严重性,并在逐渐解决这些问题,今年发布了Eclipse Marketplace,一举解决了寻找插件的困难。

  JetBrains IntelliJ IDEA 9.0.3

  JetBrains的IntelliJ有两种版本:付费和免费的开源社区版本,本文用于比较的是其付费版本,社区版只提供了基本的编辑功能。 IntelliJ IDEA比其它IDE的速度要快,因此吸引了大批忠实用户。对于初学者,IntelliJ的开发人员经常关注Java社区的一举一动,因此他们总能以最快 的速度添加对新的,热门产品的支持,如IntelliJ是第一个为Groovy和Grails提供强大支持的IDE,也是第一个为JavaScript提 供高级支持和调试功能的IDE,即使它不是第一个提供支持的,也会争取是第二个,或是提供更好的支持。IntelliJ可与Ant和Maven无缝集成, 支持Spring,并能够从Java编码跳跃到Adobe Flex和PHP。

  IntelliJ IDEA凭借其独树一帜的功能赢得了众多用户,如几年前,它率先推出用于单元测试的结果对比窗口,在进行单元测试时,可以并排对比预期结果和实际输出,这在当时可是非常拉风的功能。

  即便是如今,它的功能也比其它竞争对手更优秀,有些功能完全是独一无二的,例如,它提供的重构工具就比其它IDE强大得多,此外,它内置的语法检查器不 仅可以揪出明显的语法错误,还可以“闻”出问题,那些写得不好,但可以正常运行的代码在它灵敏的嗅觉下暴露无遗,这样的代码实现包括:简单功能复杂化,只 有一个为“真”的条件等。IntelliJ还提供了代码覆盖工具,它能在IDE中显示测试时哪些代码被执行过了,IntelliJ还捆绑了开源的EMMA 产品。

四大顶级Java编程工具横向对比
图5 IntelliJ IDEA有两个并排的编辑器

  IntelliJ还有一个很独到的功能,那就是高亮显示重复的代码,在一个很大的代码库中要找出重复的代码可不是件容易的事情,它还提供了一个依赖分析工具,可以准确地显示出方法之间的依赖关系。

  IntelliJ往往会预先考虑到很多需求,例如,这里提到的所有IDE都有一个相同的弹出式功能,当你在编辑器中输入方法的名称时会弹出一个辅助窗 口,这个功能也被称为自动完成,在IntelliJ中,它会借助代码上下文信息猜测你要使用的函数,并将其置于列表顶部,因此使用箭头键向下滚动的几率就 小多了,最不可思议的是,它的准确率很高,这是一个非常人性化的功能。

[1] [2] 下一页

4000-880-989
(24小时热线)
联系客服
微信公众号

官方公众号

小程序

©2008-2022 CORPORATION ALL Rights Reserved. 昆明奥远科技有限公司版权所有 滇ICP备09003328号-1 滇公网安备 53011102000818号
昆明那家网络公司好,新媒体运营,网站优化,网络推广,网站建设,网页设计,网站设计,网站推广,云南网站公司,昆明新媒体公司,云南网红主播,昆明SEO公司,昆明网站建设,昆明网络推广,昆明网站优化,昆明网站推广,红河网站建设,大理网络公司,曲靖网络公司,丽江网站设计,昭通网络公司,保山大数据服务,智慧高速建设,智慧校园服务,云南IDC服务商,网络安全测评,等保测评,网站关键词排名优化服务,服务客户尽超2000余家,一切尽在奥远科技,服务电话:13888956730