关于选择Eclipse WTP, MyEclipse还是NetBeans,一直都争论不断。这篇文章不是用来挑起三种工具的争端,而是通过具体分析,来告诉你哪种工具可能更适合你。作为业内最流行的几个IDE,我绝对相信她们都很优秀,不然不会各自吸引这么多的Developer。另外,这篇文章主要站在一个JEE Developer的角度来分析,不具有通用性。
?
首先说MyEclipse,相信国内大多数人最初接触JEE的时候都是从MyEclipse开始的吧。当时我用的还是5点几,现在都8点多了。MyEclipse的优点自然是上手快,大部分插件都已经集成好,并集成了许多开源框架,拿来即可使用,适合新手入门。另外,MyEclipse更改Java方法体内后台代码无需任何额外配置就可以实现热部署,这也是很多开发人员最喜欢MyEclipse的地方。好玩的是,MyEclipse的优点也是它的缺点,比如集成了过多很多开发人员用不到的插件,导致运行速度慢等等。最主要的是,MyEclipse是收费的,当然,也许很多人都忘了这码事了。个人使用也许问题不大,但是公司使用的话,可能会带来许多问题,所以在这我不打算再多说这个工具,买不起自己就不用喽。
?
Eclipse WTP为JEE Developer提供了一个开源免费的解决方案。但是WTP插件的配置较MyEclipse比起来稍复杂,门槛稍微高些,但是绝对没有想象的那么复杂。Eclipse WTP默认配置更改任何Java代码都是要重启JEE Container,也正是这个原因,很多人都放弃了她,至少在我身边有很多人是这样的。其实MyEclipse并不比Eclipse WTP多具有任何热部署优势,这个大家肯定理解。我当时就非常纳闷,到底为什么WTP不能热部署呢,热部署和IDE应该无关才对,难道MyEclipse使用了诸如JRebel之类的工具?后来发现了,WTP不是不可以热部署,只不过是默认配置不行,只要你做一点小小的改动,就可以了。另外,不管是MyEclipse还是Eclipse,她们都是给予SWT的,这种技术大概目前只有Eclipse平台在用了,而且说实话,在Linux下面运行的非常不好,这也是我最后使用NetBeans的一个原因。
?
在我上大学的时候,NetBeans启动大概需要4分钟,当时所有人都拿启动速度来抨击NetBeans。当然,如果你开发Swing,NetBeans基本上是你最好的工具了。前段时间下载了NetBeans6.9.1,使用了一段时间,发现了现在的NetBeans和我之前的印象已经完全不一样了。基于Lazy Load的插件的机制,使她的启动速度飞快,当然,随着你使用功能的增多,她也会变慢,但绝对是可以接受的,而且我在Ubuntu下面用会比Eclipse速度快。另外,NetBeans更改Java后台方法体内代码后,可以点击工具栏上的“应用代码更改”按钮,来实现热部署。另外,NetBeans的插件库的数量级是和Eclipse的插件库无法比拟的,这也是很多人放弃NetBeans的一个原因。
?
最后总结如下:
?
MyEclipse
优点:
1. 集成了许多有用的插件,无需手动安装。
2. 支持多种JEE框架,降低入门难度。
3. 默认配置即可实现一定程度的热部署。
缺点:
1. 收费,个人学习研究用个盗版还可以,如果在公司用,有点说不过去了。
2. 官网禁止中国IP访问,这也是MyEclipse打击盗版的一个方式。据说MyEclipse官方下载量中国是最多的,但是付费的中国人缺几乎没有。
3. 集成过多插件,很多都用不到,导致速度缓慢。
4. 过去傻瓜的配置,使很多开发人员不知其所以然。
5. 很多插件在Eclipse里面可以安装,但是在MyEclipse里面安装就会出现这样或那样的问题,例如M2Eclipse.
?
Eclipse WTP
优点:
1. 开源,免费。
2. 默认安装插件少,可以让有一定经验的开发人员按需安装。
3. 使用Eclipse可以使你和大多数开发人员的习惯保持一致。
4. 插件安装相对MyEclipse来说,会有简单些。
缺点:
1. SWT技术在Linux上Bug诸多,而且运行速度欠佳。建议千万不要使用最新版本的Eclipse,例如现在的3.6.在Ubuntu下的速度我完全接受不了。
2. 配置稍复杂,有一定门槛。
?
NetBeans
优点:
1. 基于Swing技术,使她真正的是一个跨平台的IDE。随着Swing的优化,NetBeans运行速度会越来越快,另外,Lazy Load让你对她的第一印象会非常好。
2. 默认集成了很多有用的插件,例如Subversion等等,非常方便使用。
缺点:
1. 插件没有Eclipse那么丰富。
2. 毕竟大多数人都在使用Eclipse,如果你个人用NetBeans,出现问题只能靠你自己解决。相对于Eclipse,解决问题的资料少,门槛较高。
3. 如果你使用NetBeans,在代码格式上和其他人保持一致需要较多配置,甚至需要使用CheckStyle等工具。
?
综上所述,如果你是刚刚接触JEE的新手,可以在个人学习研究的时候使用MyEclipse。如果你是一个Windows下的JEE Developer,建议使用Eclipse。而如果你是在Linux下做开发,还是建议你使用基于Swing的NetBeans。
?
如果喜欢我的文章,可以但不鼓励转载,因为大家不觉得现在用搜索引擎一搜全是转载文章,很烦么?如果你一定要转载,请加上原文链接,表示下对作者的尊重,谢谢。
?
另外,你可以关注我的博客。http://garinyan.com