技术开发 频道

JAVA IDE之争,谁会成为最后的幸存者(上)

4. JSP/Struts开发

    NetBeans带有一个很好的JSP编辑器,这个编辑器带有我们所期望的所有基本的特征,并且具有创建一个新的Struts工程的所有的基本向导。它包含一个嵌入的Tomcat容器,这使得开发和测试JSP变得更加容易和快速(图2展示了NetBeansWeb应用程序的向导)。


2. NetBeans应用程序向导

NetBeansWeb应用程序向导自动的配置web.xmlstruts-config.xm,并且能够增加Tiles和验证器支持。但是,它提供的支持是一些在struts-config.xml和添加ActionFormsActionsForwards的向导的上下文菜单选项。它提供了可视化编辑器,这个可视化编辑器显示了在一个应用程序中的页面导航,并提供了配置Tiles和验证器的无条件支持(包括创建原始的配置文件和所需要的包)。

   
以个人来说,我发现在5.5中对Struts的支持相当好,虽然它当然没有Matisse那样完美。同样,它也没有JSPHTML的可视化编辑器(这对很厉害的程序员来说算不上什么,但是对刚开始学习编程的程序员来说还是非常好的)。它对嵌入式JavaScript的支持比较缺乏,它只带有一个基本的CSS编辑器(虽然当你安装了可视化Web包时,在这些方面会有比较大的改进),在这些方面它还需要大大改进。(图3NetBeansStruts支持的一个示例)。



3 NetBeansStruts的支持

5.  JSF开发

NetBeansJSF的支持与它对Struts的支持相同。它在工程创建的时候提供了一个向导,包括包、所有需要的文件的配置,甚至提供了在JSP编辑器中支beans的属性的代码生成,并提供了一些faces-config.xml中的向导导航。它不支持ApacheMyFaces(仅仅支持JSF RI)。

没有哪个可视化编辑器提供方法来维护faces-config.xml文件。但是这在XML编辑器或两种或三种基本的上下文菜单中做得很好。然而,这对那些厉害的程序员们是可使用的,也当然是足够的,但是它很难满足其他IDEJSF开发者带来的用户易用性。 
 

但是,NetBeans的可视化Web包提供了一个建立JSF应用程序的可选的解决方案,该方案直接将Java Studio的创建者直接的引入到NetBeans中来。它包含一个Matisse的图形用户界面构造器来编辑网页,具有很多对JSF的控制器(最近作为Project Woodstock开源),从而扩展了基本的JSF RI集合,它也支持数据绑定(既包括数据库查询,也包括JPAHibernate)。 
 

尽管具有这些主要特征,可视化Web包也有一些缺点,这些缺点可能停止某些Java工作场所,即: 
 

1)           它缺少对页面模板的支持(虽然你能够将某一个页面保存为模板并将其作为产生新页面的一个基础,但是很显然地,你不能对它进行改变)。支持来自MyFacesFaceletsTiles将会产生很大用处; 

 

2)           它缺乏对ApacheMyFaces的支持(假设在部署使用了MyFaces RI,而不是Sun的实现时的应用服务器,例如JBoss时遇到了问题)。

3)           在自动产生后台beans时太过死板。

一个很好的特征将是对Facelets的支持,这点在JSF社区中正被推作为JSP的总的替代物(特别地,JBoss Seam工作组已经为它的所有文档公开出征)。

虽然如果NetBeans工作组将这些缺点在它的下一个版本中得到改正,我也不能想像哪一个工具能够带来像可视化Web包为JSF开发带来的高效率。
 

6.  企业开发 
 

NetBeans5.5是对JPAEJB3.0提供支持的IDE,它在这领域做得很好。特别地,通过注释对JPA实体类的自动生成(包括正确地建立persistence.xml文件,甚至包括基本的连接信息)为我节省了几个小时的无聊时间。自动生成的JPA代码是如此的高质量并能立即可用。坦率地说,用Matisse开发Swing应用程序,以及通过JPA来查询和更新数据库让我看到了我很多年以前用PowerBuilder开发时(我始终将PowerBuilder作为开发高效率的客户端/服务端的UI开发工具,即使它还存在很多缺点)的高效率。

对于纯粹的企业开发,NetBeans提供了提供了对J2EE1.4Java EE 5的支持。特别地,对于J2EE 1.4工程,EJB向导关心产生所有需要的代码(包括业务/本地/远程接口,也包括他们的简易实现不包括对ejb-jar.xml配置文件的包装)。简短来说,NetBeans关心大部分与J2EE 1.4相关的东西,也提供了对Java EE 5的相应支持(它是第一个做到这样的IDE,虽然在它之后,很快的IDEA也具有了该功能)。 
 

从另一个方面来说,NetBeans提供了仅仅对部署企业应用程序的GlassFish/Sun应用服务器以及JBoss的支持,但是,更新站点提供了WebLogicWebSphere的相应插件,虽然我不能确定NetBeans工作组是否会官方的支持它们。 
 

免费的企业包也增加了强大的图形特征(包括编辑和同步Java代码两种方式),BPELSOA编辑器也一样。但是,这些东西超出了我们评论的范围。
 

7.  对NetBeans的建议 
 

我真的喜欢NetBeans。在任何人都以为它会被Eclipse活生生的吃掉时,它站起来了,并在新版本中具有了很多引人注意的特征(在NetBeans6.0中更甚)。但是,它的社区大小与Eclipse社区相去甚远。

IBMEclipse上所做的一件精明的事情是放弃控制和创建一个Eclipse根基,由于这一点,吸引了很多第三方的开发者。也许已经是Sun放弃对NetBeans的同等控制的时候了(坦率地说,我认为NetBeansEclipse更像一个本地的Windows应用程序,尽管这纯粹是SwingSWT的讨论)。NetBeans简单来说,NetBeans后需要更多的资源,来使得它在Java IDE变成第一名,我不认为Sun本身能够使得这种情况发生。 

    在下篇中,我们将对IntelliJ IDEA 6.0.4Eclipse分别进行介绍,并对本文进行总结。 

0
相关文章