从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 |
(3)迁移工具:netbeans有一个专门迁移 Jbuilder project的工具叫Jbuilder importer for Netbeans 5.5,但这个工具不够好,,因为它不能识别web文件夹,但 netbeans本身带的 "web application with existing source" 就能够很好地识别。
迁移过程很简单,几乎立即完成,并且没有什么后遗症,然后可以在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为了用户友好,搞了一些图形化的支持,但对于熟练
的用户这些图形化的框架支持只会降低效率。