不知道是巧合还是品牌推广,Tim BoudreauGregg Sporar在他们在java.net的blog上各自贴出了有关Netbeans 5的文章:Zdrasvitsie Netbeans 5.0(4.2 == 5.0),也许已经toooooooold,呵呵,没参与过Netbeans的maillist,old的话请别介意

如同JavaJ2SE 1.4直接跳到Java 5一样,Netbeans这次从4.1一跃到5.0(我记得前些日子4.2还有beta的消息)就如Tim所说,版本代表了很多东西(What’s in a version number? Well a lot of things.)。这种从4.1到5的跳跃当然不是随便就定下的,而是因为有一些里程碑性的进步,主要包括:

  • 新的GUI设计器Matisse
  • 重写过的CVS支持;
  • StrutsJSF的支持;
  • 提供部署到更多种服务器——主要是JBoss和WebLogic——的支持;
  • 代码自动完成功能有了新的LookAndFeel,以及更好的性能;
  • error stripe将移至标准发布版中;
  • 编辑器中新的提示特性;
  • 许多新的重构功能;
  • 完全重写的“选项”对话框;
  • 标准发布版中将包含一个ant调试器;

还有一些什么新的调色板什么的就不提了,最让我感兴趣的应该说是Gregg Sporar的blog里那篇Java Blueprints示例中用JSF和AJAX库创建的一个自动完成表单的例子,局部效果如下:
http://weblogs.java.net/blog/gsporar/archive/images/zip10.png

不过Tim眼中Netbeans 5的亮点应该是提供了对于构建基于Netbeans平台的RCP(Rich Client Platform)应用的支持。
Tim说,从3.6版本开始,Netbeans就提供了不错的插件开发机制,开发3.6版本Netbeans的apisupport模块的家伙这次依然领导了新的apisupport模块的开发,新的apisupport更加耀眼,一些亮点包括:

  • 基于模板创建新插件;
  • 创建一“套”(原文作”suite”)插件以组装一个应用程序;
  • 在IDE内构建/运行/调试基于Netbeans的应用程序;
  • 重新热部署(原文作“Hot-redeploy”)插件到已经运行着的应用程序;
  • 调试你创建的插件时的“修改与继续”(原文作”fix and continue”,也就是“hotswap”);
  • 通过GUI来为你的基于,Netbeans的应用程序配置菜单,工具栏和其他;
  • 通过向导来创建你自己的程序的标志(替换splash,应用程序名字,对菜单项、工具栏,主窗口等等进行隐藏/移动/重命名等操作);
  • 毫无痛苦地构建你自己的应用的发布版;
  • 用于创建普通的Netbeans类和组件的模板和向导。

老实说,Netbeans运行速度有些慢,特性方面比较中规中矩,不过也是有很多的亮点。和eclipse不同,Netbeans看起来是想做最完备的Java IDE,很多东西都集成在最后的发行包中了,虽然有插件扩展机制,但可用的插件远不如eclipse平台上的多,所以一般只能用Netbeans提供的功能。尽管如此,每一版Netbeans的升级还是不会让人失望的,都会引入一些新颖的功能,这次对RCP支持和GUI设计器看来做了比较大的改进,不知道J2EE方面怎么样。这版Netbeans为RCP提供了这么多支持是让我始料未及的,我本以为应该会继续增强J2EE相关的工具和特性。Netbeanseclipse之 间的争夺已经从普通的Java开发领域上升到RCP平台开发领域,不知道是不是也从另一个方面代表了国外的技术走势?当我们还在鼓捣B/S的webapp 的时候,是否该注意一下Rich Client Application呢?或者,至少该注意一下RIA吧。我不知道等到现在的user们接触到越来越多的基于AJAX或者纯Flash页面的应用之后会 不会向一直高高在上的J2EE应用提出这些要求呢?

话说回来,我觉得Netbeans创建项目时生成的代码目录还是很规范的,而且也有“Java Blueprint”和“Apache Jakarta”两种目录结构可供选择(差别不是很大),而且基于ant的编译/构建也有利于代码分发,除了某些ant task是Netbeans扩展的,用到的时候还得带上,比较麻烦。

Tim说将要去俄罗斯推广NetbeansGregg也说将会和Tim一起来到中国北京推广Netbeans,作为NetBeans World Tour的行程之一,呃,无论是NetBeans World TourJavaChina,皑皑,没机会去了……