从jbuilder迁移到netbeans的经验
最近公司从 Jbuilder 2005 developer 迁移到 netbeans 5.5 r2,顺便作了一些测试,
我的基本结论是netbeans 5.5 已经快赶上了jbuilder2005,尽管他们不是同年代的产品,
但考虑到netbeans免费的优点,这种迁移是值得的。
下面是一些测试的基本数据,由于对netbeans的特性还没有完全掌握,有些数据和结论
可能不准确。
(1) 编译速度 (两者相差不多,netbeans略微占优):
Project规模:400-500个类文件,struts 1.1 , 130个jsp文件
|
JDK 1.4 |
jdk 1.5 |
||
|
Pentium(R) 2.8g 512m HT |
celeron 2.4G 512m |
Pentium(R) 2.8g 512m HT |
celeron 2.4G 512m |
Jbuilder 2005 developer |
34s |
|
27s |
80s |
Netbeans 5.5 |
30s |
|
25s |
|
Jbuilder ant build 1分10妙 (when celeron 2.4G and Pentium(R) 2.8g 512m HT)
(2)内存占用(两者各有特点,相差不多):
|
Jbuilder 2005 developer(tomcat 5.0.27) |
Netbeans 5.5(tomcat 5.5.17) |
after opening the project |
84,820k |
|
after compiling the project |
166,552k |
|
after start tomcat 4.1 |
165,708k javaw 34,548k |
|
after start tomcat 4.1 with debug option |
186,408k javaw 33,260k |
|
after 10 main operations with debug option |
175,280k javaw 44,352k |
|
after 10 main operations |
165,718k javaw 50,053k |
|
after logout |
165,708k javaw 50,052k |
|
after 10 main operations of another session |
165,728k javaw 50,051k |
|
after ending of tomcat 4.1 |
166,580k |
|
upgrade to tomcat 5.0.27
|
|
|
after opening the project |
86,360k |
94,728k |
after opening a java file |
|
116,932k |
after compiling the project |
162,724k |
|
after start tomcat 5 |
160,868k javaw 33,040k |
150,960k java 57,260k |
after 10 main operations |
160,980k javaw 42,652k |
150,720k java 71,640k |
after start tomcat 5 with debug option |
|
159,820k java 53,216k |
after 10 main operations with debug option |
202,904k javaw 42,860k |
160,124k java 73,052k |
迁移过程很简单,几乎立即完成,并且没有什么后遗症,然后可以在netbeans里面马上开始测试和编码。
(4) 其他方面的比较:
代码整型(format): netbeans较好,有时Jbuilder会把代码搞得乱糟糟的。
拷贝代码: Jbuilder 较好,因为在jbuilder内部拷贝代码会自动导入(import)被引用的相关class.
在netbeans里面你必须手工使用 "fixing import" 功能去导入,当有同名类的时候netbeans不停地弹出对话框让你选择,很烦。.但这个也有好处,就是从ide外部拷贝源码的时候就比Jbuilder方便一些
代码显示: jbuilder 较好, Jbuilder 能够显示无用的代码和导入项,能够直接显示重载的模式。
版本控制,我们使用subversion,发现 netbens 更好一点, Jbuilder 的内部版本subversion经常出错,几乎不可用。
调试服务器控制: Jbuilder更好,感觉Tomcat是 Jbuilder的子进程。
netbeans 有时候甚至在自己本身被关闭的时候还不能把tomcat进程杀掉。在我的这个项目中几乎
100%netbeans不能中止tomcat进程,需要我通过操作系统的管理工具去杀掉tomcat进程。
可扩展性: netbeans 更好,能够在线升级,能够导入第三方部件,能够方便地为第三方包配置帮助文件,
能够方便地使用新的jdk。
我升级过Jbuilder一次,需要手工拷贝文件,太原始了。
JSP编辑: netbeans 更好。
调试: 他们各有优缺点。
Jbuilder能够调试 filter and listener,但 netbeans 不能调试。
jBuilder 在调试模式下清除了web.xml里面的所有注释,但netbeans不会。
Jbuilder 使用它自己的内部浏览器,这个浏览器功能比较弱,好处就是与ide集成得比较紧密。netbeans 使用缺省浏览器。
国际化支持:没有环境,所以没有测试。
重构(Refactoring):他们功能相当。
框架支持:Netbeans 更好一点, Jbuilder不能识别某些新得框架,不能解析jsf和struts的第二配置文件,
这个将导致多人共同开发的不方便。虽然Jbuilder为了用户友好,搞了一些图形化的支持,但对于熟练
的用户这些图形化的框架支持只会降低效率。