Java IDE之争 谁是下一个霸主

来源:互联网 发布:linux chown 子目录 编辑:程序博客网 时间:2024/04/19 03:42
 2006年的Java IDE市场如果可以用混乱来形容的话,那接下来,在2007这一年里,更进一步的争夺将会愈演愈烈。Eclipse从开发工具向框架级迈进,NetBeans的极力推广,Jbulider改换门庭归来,谁会在这场Java IDE中胜出,现在还很难得出结论。最有可能的现象则是这三种Java IDE将会长期存在,就如数据库市场中Oracle、SQL Server和DB2一样。

  对近期数据调查分析不难看出,NetBeans的市场份额有了明显的增长, Jbulider之前的退出也让NetBeans和Eclipse的对恃提前来临。但随着JBuilder脱离Borland而正式成为CodeGear公司的主力Java开发工具,JBuilder有机会重返Java开发工具王者的地位,三国鼎立的局面可能会再度呈现。

  一、Eclipse 从传统开发工具向框架级迈进

  Eclipse一经出现就以其快速,丰富的特性赢得了认可,其主要的属性有:1.快速的性能 ;2.重构功能 ;3.快速修复错误 ;4.调整/组织导入包;5.弹出窗口进行代码自动装配。由于功能强大,Eclipse一度成为Java IDE领域的霸主。

  最近几年Eclipse的卓跃表现,我们应该不再只是把它作为一个一个Java IDE的开发平台,而是一个平台框架,各种各样的插件都可以安装在它上面,从而形成了各种各样的工具,甚至其中很多技术已经与Java开发没有任何关系。

  IBM新近推出的 Rational Application Developer(RAD)V7.0就是最好的证明。它是一款基于Eclipse开源框架的产品。

  Eclipse新的框架方向已经引起了业内人士的关注:最初的Java IDE概念在逐步淡化。这种感觉或许有它的正确性,但是这种感觉又会被这样一个事实所抵消:Eclipse是目前全球拥有最大的Java插件社区。

  RAD 7在Eclipse基础上增加了多个模块。由于出自IBM的豪门之作,其中许多模块都带有面向企业应用程序开发的成分,其中包括portlet和portal开发工具和对多种数据库的支持。

  在数据库支持方面,自然少不了对IBM DB2的支持,使用RAD 7可以编写用户自定义功能(UDF)、存储过程和SQL J代码,所有这些功能在所有的IDE产品中都是独一无二的。

  但是,在图表和建模功能却相对有限:RAD 7仅支持两种UML图表(而NetBeans是八种,JBuilder是九种)。要想使用来自IBM的全面图表功能支持,IBM的Rational Software Architect工具是不得不购买的。

  使用RAD 7,你可以开发Web服务和Web服务客户端,产生WSDL,甚至针对一个专门的统一描述、发现和集成 (UDDI)服务进行单元测试。还有,它还支持IBM的DADX,这是一种Web服务所使用的DB2 XML扩展。

  在代码编写方面,RAD 7提供了一个静态分析工具,具有IBM制定的关于Java缺点和编码错误的200条规则。虽然本次评选中的其他IDE也提供了更多的规则,但是IBM的解决方案对错误进行标记的功能是其他产品所无法比拟的。

  通过提供针对这些规则进行非常详细的理由阐述和相应的解决办法,使这些规则的作用率被大大提升。

  在文档帮助方面RAD能集合这么丰富的帮助信息,是IBM在文档方面长期所具有传统优势的结果。在RAD中可以把用户链接到全面的开发指南或者链接到IBM的网站来查找更丰富的资源,IBM网站在开发社区上,向来以具有丰富的技术文章而著称。

    存在的缺陷

  人无完人,RAD也不是完美的无懈可击,缺点与优点并存,假如应用程序需要一个脚本语言来把不同的部分连接在一起的话,RAD 7具有对Jython语言(基于Java的Python)的内置支持。不幸的是,这个IDE工具不能自动识别出什么是Jython语言和什么是Java语言,尽管从句法上来说,这两种语言是完全不同的。但是这个小小的缺陷会导致某些误操作的发生。

  这个缺陷虽然非常小,却可以让人们以小见大,安装RAD 7的软件是一一件苦差事。必须要得到来自IBM的帮助后,才能够正确安装这个产品。

  另外,因为IBM没有发布相应的字典,对注释和程序内容进行拼写检查的设置选项不能正常工作,;如果起用了这个功能,它会标记所有的单词为误拼。代码校验工具有时候也会给出错误的纠正。对话框中的动态帮助经常将用户带到错误的帮助页面中,你不得不通过导航再去寻找正确的帮助页面。

  随着时间的发展,这些积累起来的问题影响了人们对这款产品的期待和使用。

  对这个工具还有一点让人遗憾的地方:在支持Java标准方面,IBM已经远远落后于其他厂商。只有这一款不支持Java EE 5或Java SE 6。

  对于那些IBM的忠实用户来说,我推荐使用RAD 7,因为它可以很好的支持来自IBM的其他产品,尤其是DB2和WebSphere。另外,对于那些不同国家的开发者使用相同的IDE用户来说,也会非常喜欢RAD 7,因为它提供了多国语言版本的支持。但是,考虑到相对较高的价格和上面我所说的缺点,用户在开始掏出银子购买这款产品前,一定要慎重的考虑一下。

  二 Sun的开源产品NetBeans

  Sun的NetBeans是唯一一款完全开源的产品,可以免费的从netbeasn.org下载。与其他工具不同的是,NetBeans要求你进行一些简单的“组装”工作;从一个核心NetBeans平台开始,根据你的需要来增加不同的程序。

  目前,Sun提供了一个企业包和一个Visual Web pack包,还有一个实现J2ME编程的移动程序包和一个C/C++程序包,还有一个单独的程序包NetBeans Profiler。这些程序包是常用IDE插件的扩展,通常用它们来提供一些不错的新功能。

  几年前得NetBeans更像一仿制IDE的跟风者,与其他的Java IDE产品不在同一个起跑线上。但是现在的情况却发生了很大的变化,NetBeans的广泛流行已经说明了这点:根据国外一家调查公司在2006年12月的一次调查显示,NetBeans在去年获得了长足的进步,现在它已经仅次于Eclipse,是第二大Java IDE工具。

  对于企业计算来说,NetBeans提供了很多有用的功能,包括对Java EE 5的支持,是通过Sun的Glassfish项目实现的。这个IDE有很多好的工具支持基于服务的企业开发,尤其是在SOA方面。 举个例子来说,NetBeans是本次IDE中唯一的支持BPEL图表和建模功能的产品。

  缺乏对通用产品的支持

  但是,NetBeans的企业服务支持方面的优势由于缺乏对通用产品的支持而被抵消。NetBeans不支持IBM的WebSphere应用服务器,还有,除了JavaDB之外它缺乏对其他数据库的完整支持,对于这一点我们需要澄清一下:NetBeans可以支持任何JDBC的数据库,但是它只支持JavaDB数据库应用程序的部署文件和利用一些DBMS(数据库控制和管理)特定的功能。

  NetBeans的协作功能也非常不错。NetBeans具有一些内置的工具来实现开发者之间的实时协作,包括交谈和代码共享功能。

  NetBeans的设计是基于服务器的。你可以搭建你自己的服务器来实现这种交流,或者免费使用Sun提供的一个服务器,对于后者你只需要简单的登录到Sun的服务器上,你群组中的所有开发者就会被显示出来,还有他们的登录状态,这一点与与我们使用的即时通讯(IM)工具颇有几分相似。

  在图形化设计方面,NetBeans捆绑了Matisse(基于GUI的创建器),这是当前世界上最好的图形化用户界面布局设计工具之一。当你通过拖拽一些小工具到面板和对话框中,他们被自动的正确放置。当你执行拖拽操作的时候,会弹出最佳和可选位置的指导。然后Matisse从设计模式产生相关的代码。

由于Matisse只支持Swing,它使得NetBeans这个IDE工具非常适合于那些从事大量基于Swing界面设计的用户。幸运的是,由于Swing性能和外观感觉上的稳步上升,这已经不能算是一个缺陷了。

  NetBeans依赖Ant文件来存放项目配置数据。这样NetBeans具有一个重要的优势:在使用多Java IDE的团队中,任何其他IDE都能加载和运行NetBeans项目,而不用进行一些转化工作,实现不同IDE平台之间的代码互操作性。

  使用Ant文件方式也有一个缺点:NetBeans只支持单一的runtime配置。大多数其他IDE可以让你选择多Runtime配置;而NetBeans没有,每次你想修改你的应用程序的参数的时候,你必须手动修改一个配置,不过幸运的是,即将到来的NetBeans 6.0将要修正这个问题。

  三 JBuilder 2007 王者归来

  在Java IDE的口碑和功能方面,JBuilder 2007的表现无疑是最好的。这个版本是JBuilder投入Eclipse平台以来的首个版本,它是由Borland分公司CodeGear发布的。 JBuilder 2007展现了一个具有很多创新功能且非常强大的IDE工具。

  在Java编程方面,JBuilder具有三种不同的代码监督和分析设置:开源的PMD、Findbugs和Borland自己的代码检查工具,这些方式相互配合使用,把功能发挥到了极至。同样JBuilder 2007也有自已的不足之处,缺乏RAD 7产品中的问题描述和体贴的推荐操作等功能。

  JBuilder还集成了一个分析评估程序,这个分析评估程序在所有IDE产品中也是最好的,它产生了超过80多种不同的评估机制,并以图表或电子表格的形式展现。令人好奇的是,它的评估程序并不包含可维护性的索引,你可以关闭不感兴趣的机制,并设置你要跟踪的线程。

  JBuilder还可以对评估机制进行快照保存功能,因此你可以把代码的当前状态和此前运行的代码进行比较,以确保程序朝着正确的方向发展。

  同时,CodeGear还整合了JBuilder的Optimizelt(代码测试工具)套装工具,这是一款Borland提供数年的独立产品。Optimizelt提供了高分辨视图来查看软件的性能和内存消耗情况。同时它还包含代码覆盖分析(尽管只是基于类覆盖的分析,而不是逐行代码的分析),还有一些功能是用来了解底层所发生的问题,其中也包括对每线程数据的查看。

  令人印象深刻的协作功能

  JBuilder 2007还在协作功能方给予了很大的支持。它具有一个开发者导向的消息系统,对代码检查和开发者之间的交流非常有帮助。不幸的是,它使用了一个对等设计模式,只支持同一个网段的对端用户。

  对于团队协作方面,JBuilder提供了TeamInsight这个设置容易的portal(交互平台)服务器,它包含了一些关键的开源工具:Subversion、Bugzilla、Continuum和Xplanner等。这个portal服务器可以通过Web界面或JBuilder来访问,同时也包含了很多项目报表和分析工具,这也是其它的IDE团队无法比拟的。

  考虑到Borland第一次在Eclipse平台上发布IDE工具,JBuilder 2007所获得成就非常值得称道。唯一稍显的不足是很多帮助图标并没有发挥作用。同时没有针对JSP或JSF提供可视化编辑器(不过据说很快将增加这部分功能)。

  并且该产品还不能对使用DB2的应用程序产生部署文件,这是一个足以致命的缺失功能。并且目前的版本只支持Windows,Linux和Mac版本要等到五月份才可能发布。

  三国鼎立之势 对用户有利

  继续回到本文最开始所得出的结论,这三种Java IDE产品相比较其实并没有谁有绝对的优势强于其它两者,对于用户而言,这应该是我们最愿意看到的一点。不断的竞争让这些IDE产品变的更强大更易用,从而也有了更多更好的选择。
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一年级的孩子做题粗心怎么办 一年级娃娃做题粗心怎么办 有同学抄作业该怎么办 同学要抄我作业怎么办 同桌抄我作业我该怎么办 孩子想换同桌老师不同意怎么办 尴尬的事情心里难受怎么办 孩子撒谎不完成作业怎么办 孩子撒谎不交作业怎么办 孩子不爱写作业撒谎怎么办 大便又粗又硬怎么办 二年级末考紧张怎么办 孩子粗心做数学题老出错怎么办 生地会考考了140怎么办 数学成绩考砸了怎么办? 考砸了家长发火怎么办 大型考试考砸了怎么办 能力考试考砸了怎么办 考砸了老师批评怎么办 英语抽测考砸了老师怎么办? 辅导班学生考砸了老师怎么办 好学生考砸了怎么办? 孩子学习不认真马虎怎么办 孩子做作业不认真马虎怎么办 一年级小孩学习不认真怎么办 孩子做题审题不认真怎么办 初二孩子不认真审题怎么办 孩子总是粗心抄错题看错题怎么办 孩子总马虎我要怎么办 年检标志跟车牌号不一样怎么办 纹完身后喝酒了怎么办 孩子学习态度不端正怎么办 孩子高考三模考差了家长怎么办 一年级学生学习马虎大意怎么办 一年级下册孩子做作业马虎怎么办 一年级孩子做题马虎怎么办 四年级小孩不喜欢数学该怎么办 工作出了大错误怎么办 遇到不讲道理的人怎么办 四岁宝宝爱生闷气怎么办 一岁宝宝没耐心怎么办