【51CTO.com独家报道】开源世界带来的是开放,相对于微软的.NET而言,Java的IDE领域可谓是百花齐放,百家争鸣。不象从事.NET开发的人员只有选择VS一种工具(或者也有其他的辅助IDE,但是大多逃脱不了微软的干系),Java开发人员的选择就太多了,而Java IDE领域的战火也从未有过丝毫减弱,JBuilder无疑是业界老大,一度也代表着业界的权威,但囿于既不免费,也不开源而前途已经岌岌可危,而其他主流工具如Eclipse,Netbeans也迎头赶上,占有不少的市场份额,并得到越来越多的Java开发人员的青睐。
下面,笔者就目前开发人员使用的主流开源IDE做个简单介绍和比较,并谈一下自身的浅薄感受。
众星捧月——Eclipse
Eclipse正是迎合了开源时代的趋势,也因此而得到广大开源支持者的极力追捧,当然,其本身的优秀也是一个重要的不可忽视的因素,这也是为什么在开源的众多IDE中,它能创造神话的缘故。2005年,Eclipse 3.1版本30天内,下载量达到100万之巨。而最新的Eclipse 3.3据说有60多个开源项目参与,涵盖了开发的各个领域,这无疑更将吸引更多的用户一尝新鲜。
一枝独秀——Netbeans
Netbeans是Sun公司独自支持的IDE,面对Eclipse有众多知名软件厂商参与的局面,虽然显得有点孤掌难鸣,但是并不势单力薄,Sun对Netbeans的未来充满信心,正如其广告语那样:Netbeans 5.0,一旦试用便不会再放弃。而最新的Netbeans 5.5更是向SOA(service-oriented architecture—面向服务架构)倾向,并被扩展到除了Java本身的其它语言。
我用Netbeans,你呢?
每个软件开发企业都会有不同的项目开发需求,当然面对IDE的选择也是因需而选,更是呈现出“萝卜白菜,各有所爱”的态势。就我接触的范围来看,有Eclipse的忠实用户,有在上千万的项目中使用Eclipse+MyEclipse的,当然,也有不少人在使用Netbeans,同时,他们都不可避免地在修改页面和细节代码时配合UE,EP等工具。
我以前一直都专注于.NET平台的开发,而接触Java时,面对各种IDE也是有点迷茫,众说纷纭,不知道听谁的推荐才好。记得当时,最先体验了一把Eclipse,因为要调试JSP,习惯了VS下写ASP.NET的调试方式,觉得Java的环境配置过于复杂,找了好多资料,一共配置过三次,只有一次成功地实现了在Eclipse下使用lomboz插件调试JSP。也许这不是Eclipse的错,但是,可以肯定的是,开发人员在环境配置上投入了比使用其他工具更多的时间和精力。个人感觉,如果你对于Eclipse的插件机制不是很了解的话,在初期使用的环境配置上,你可能会需要花一番工夫。
我第一次认识Netbeans是在Java 10年盛会的展台上,并领了一张Netbeans 4.1的光盘。不过,之后过了好久,才装来试试看。Netbeans的风格与用户熟悉的Window桌面软件的一贯风格保持一致,基本上可以让大部分用户很习惯地快速安装上手。
Netbeans漂亮的界面一下子就吸引了我, 而且,构建开发环境相对于Eclipse而言,也简单一些,对于想快速转入Java领域开发的人员来说,它是个非常好的选择。
不得不说的是,Netbeans在应用服务器的支持上比较欠缺。Netbeans 4.1仅仅支持Sun Java System Application Server 8.1、Tomcat 5.0和Tomcat 5.5。如果你想在开发过程中就与生产环境的应用服务器保持一致,除非你选择以上的三种服务器,否则,你不得不在部署生产环境时再配置自己的服务器,而不同服务器之间的兼容性问题也给项目带来了一定的风险。可不要小看这些风险,如果你的开发环境和生产环境使用不同的应用服务器,那么一定要在开发初期充分研究一下你的预期系统组件是否都可以被两种服务器支持,因为,服务器不兼容带来的直接后果可能是核心组件的无效,继而导致整个项目的失败。
2006年的Java大会上,再次看到Netbeans的展台,我特别关注了一下,并询问了他们的支持工程师,如何在Netbeans 5.0中将应用服务器由捆绑的Tomcat 5.5.9配置为WebLogic 8.1。经两位工程师查找资料后,给出的答案是:不支持。
这一缺憾不得不提,即使是在目前阶段,在JDK 1.4平台下基于WebLogic 8.1的应用开发也是占有很大比例的,很多企业还不愿意盲目跟进JDK 1.5平台。而Netbeans仅仅支持WebLogic应用服务器的9.0版本,不支持8.1版本,必将因此而将部分用户推向其他Java IDE的阵营。
即便如此,就我个人而言,仍旧不能抗拒Netbeans的魅力,一直使用它作为我的开发工具。至少,对于目前的J2EE Web开发而言,它可以快速让我们建立一个Web应用,而不必去配置类似Eclipse的庞杂的插件,使我们可以专注于业务逻辑的实现。这也正适合了我的习惯——在.NET下New一个Web应用即可进入代码编写,同样,在Netbeans直接New一个Web应用即可,你还可以选择是基于Struts还是JSF,它可以帮你生成良好的目录结构。如下图所示:
![]() |
图1 |
目前,我仍旧是写基于WebLogic 8.1的开发,采用了变通的方式(上文已经提及Netbeans 5.0不支持WebLogic 8.1):应用部署在WebLogic 8.1下,在Dreamweaver下写页面,而在Netbeans下使用默认的捆绑的Tomcat服务器来实现业务逻辑和数据访问,然后将.class文件拷贝到Dreamweaver站点中相应的结构下来进行测试。虽然这样在调试的时候会稍微麻烦些,但是,Dreamweaver在编写页面方面的优秀表现也是值得如此一试的。
对不同的IDE,每个人有着不同的见解和偏好,同时每个IDE也有着不同的特性和优点,根据开发的不同需要可能会选择不同的IDE。在Java开发领域,每个IDE都能胜任工作,然而根据你所做的不同开发如Swing开发,web开发,或者企业开发,我们会选择不同的IDE。以上只是略谈了我个人的看法,仁者见仁,智者见智,希望不会诱导大家。