NetBeans 6.0 进步处仍有不足
“我觉得NetBeans 6.0是历史上最大的一次升级”。首先而来的感受是启动速度比5.5版本略快一些。刘一童认为这和NetBeans 6.0安装定制化有关,比如JavaSE最小安装仅21MB,加载的插件少。
性能方面最明显的体验则是Java源文件编辑能力大大增强、更加人性化,“就像当年我用JBuilderX时一样顺手。”比如用Eclipse编码的时候经常性地输入‘Ctrl+Shift+O’、‘Ctrl+Shift+F’这两个快捷键组合,也就是组织导入和代码格式化,在NetBeans 6.0中代码格式化程序相比5.5版有所增强,此外代码重构能力也有所上升。一直以来NetBeans的一些插件如visual web、profiling等很不错,这也是不少用户选择NetBeans的原因,在6.0中继续延续。
但是刘一童认为xml文件的编辑能力还很一般,比如将一段较长的xml字符串写在一行(注意是写成一行),然后‘Ctrl+Shift+F’。“这在Eclipse中可以轻松办到,无论格式缩进、排版有多乱,只要xml是wel-form的,至多是多花些时间,而在NetBeans 6.0中这点还显得不够。”
除此之外,他认为NetBeans 6.0需要增强的地方还很多,比如对Struts 2.0、Spring、Hibernate的支持,如果这些都能像Visual Web那样相信大部分Web开发人员回转向NetBeans 6.0的。另外迄今NetBeans官方还没有支持JavaScript编辑的插件,属性文件编辑器也没有像Eclipse下JInto的插件,而Eclipse早就有了。
至于NetBeans 6.0提供的对包括C++、Ruby等其他语言的支持,刘一童认为多多益善。“NetBeans 6.0是开发Ruby的首选平台,也是NetBeans 6.0与Eclipse争夺IDE市场的一大优势;至于对C++语言的支持,我认为短时间不会吸引太多的C++用户,毕竟C++语言发展很长时间了,其间自然少不了成熟或者完美的开发平台,至少那些用Visual C++编写MFC的微软派是绝对不会用NetBeans开发C的。对其他语言的支持,我觉得官方应该提供当前很火的JavaScript编辑支持。”刘一童说。
NetBeans VS Eclipse
说到NetBeans,Eclipse则不得不提。实际上,NetBeans的使用率和地位落后于Eclispe已经是个不争的事实。为何Eclipse更受欢迎呢?
“我喜欢Eclipse很重要的一个原因是它的解压即可的安装方式,虽然默认安装支持的范围很窄,甚至不支持J2EE开发,但是插件应有尽有而且插件安装的方式也完全基于文件夹的拷贝,这样你可以定制适合自己的开发环境并打成一个zip文件,相比JBuilder的光盘安装形式,Eclipse小巧便捷是很突出的。”刘一童说。
NetBeans性能上的差异是多方面的,与Eclipse相比还有很长的路要走。刘一童认为造成这种局面的原因主要有三点:一是NetBeans起步太晚。Eclipse早在04年就凭借3.0版本打败JBuilder从而稳坐江山,从而吸引了众多厂商纷纷以Eclipse作为平台开发插件,那时候NetBeans3.6还是个玩具,世隔3年,NetBeans 6.0要想翻身谈何容易。但好比是中国与西方经济的关系——由于起步晚等原因而落后,但前者发展速度迅猛。
二是NetBeans基本只由Sun一家公司负责研发,而Eclipse由整个社区共同开发,集思广益。虽然Sun有它自己的理由——人多管理上比较复杂,容易产生Bug,但是一家公司的实力毕竟有限,而且我觉得从投入度上来讲,IBM的资金投入比Sun研发NetBeans时要多,况且NetBeans起源于学生们做的一个Java工具,而Eclipse是IBM要与Borland争夺IDE市场有计划、有规模的产品。
“三是我个人的观点”,刘一童接着说,“Sun的技术、产品除了Java,其他的一贯不被看好,1997年Java One大会公布的JFC Swing、Applet、J2EE中的EJB、Sun Application Server,无一例是被广泛采用的,NetBeans的过去又是非常糟糕的,这些都影响NetBeans的普及”
想当初Eclipse之所以打败JBuilder最终成功,很大程度上是它的微内核和插件机制,3.0版本开始基于OSGI规范设计架构,同时也做了一次很大的牺牲,那就是几乎全部抛弃了2.x的架构重新按照OSGI标准重构,虽然2.x的架构已经很好了,其部分扩展点机制得到了保留。“但是NetBeans 6.0架构仍然是Sun自己的一套,JSR 277标准要等到JDK 7发布,而且只是部分实现OSGI,NetBeans有必要像Eclipse从2.x升级到3.x那样,进行一次大规模的升级,而且很有必要,今后走OSGI的路线。”刘一童说,“今后的一段时间,Web 2.0依然会如火如荼,所以IDE能否支持Web 2.0以及支持程度都会有很大意义。”
【编辑推荐】