内容摘要 -
就象它的Struts伙伴一样,其实JSF工程选项仅是其灵活性的一个小小的练习:你可以选择你想使用哪一个版本的JSF(1.0,1.1,或1.2)及相应的实现方式(JSF RI或Apache MyFaces),然后,IDEA甚至可以为你自动下载所要求的库。NetBeans开发小组应当特别注意:这的确是对于所有流行的开源框架或实现(而不仅仅是Sun赞助的那些)的广泛支持,而在你们的IDE中恰恰缺乏这一点!而且,JSF模块还对JBoss Seam提供了现成的支持,这使大家几乎一致认为它很可能会成为JSF开发的标准框架(类似Struts框架中对于JSP提供的支持)。这进一步证明了IntelliJ能够及时完好地支持Java web世界的前沿开发。
全文 -
导航规则。此外,NetBeans并没有提供对Apache MyFaces的支持(仅支持JSF RI);因此,你必须手工修改创建的初始工程以便删除JSF RI部分而使用MyFaces。
此外,NetBeans并没有提供任何可视化编辑器来维护faces-config.xml文件。任何事情都是通过原始的XML编辑或两三个基本上下文菜单向导来实现的。尽管这完全可以工作而且毫无疑问对于老手已经足够了,但是,它几乎无法实现其它IDE对于JSF开发者支持方面所具有的易用性和高效性。
然而,NetBeans Visual WebPack的确对构建JSF应用程序提供了一种可选方案—通过把Sun Java Studio Creator中的大多数特征直接移植到NetBeans中。这包括一个Matisse风格的web页面GUI构建器,其中提供了大量的JSF控件(最近作为单独的开源工程Woodstock而存在);这些控件扩展了基本JSF RI集,而且还支持数据绑定(既支持直接的数据库查询,也支持经由JPA/Hibernate的数据库操作)。
虽然存在上面这么多优秀的特征,但Visual Web Pack仍然存在一些不足(导致许多Java公司不愿意选择它),列举如下:
1.缺乏对页面模板的支持(尽管你可以把一个页面保存为一个模板,并且把它用作新模板的一个基模板,但是显然这种改变也无法从根本上简化页面的设计)。不过,对Facelets的支持或对来自于MyFaces的Tiles支持可以在此大派用场了。
2.缺乏对Apache MyFaces的支持(当发布到使用MyFaces RI而不是使用Sun的实现方案—例如JBoss—的应用程序服务器上时,这潜在地会导致一些问题)。
3.对于支持bean的自动生成功能不够灵活(它基本上以一种非常直接的ASP.NET方式模仿了每一个JSF页面中的结构化上下文,从而使之无法与面向会话的支持bean(例如JBoss Seam中所要求的)联用。
【注意】一个伟大的特征是针对Facelets的支持。如今,许多JSF社区都在全力推荐用之作为JSP的完全替代品(特别是,JBoss Seam开发团队在它所有的文档中公开地呼吁这一点)。
尽管NetBeans开发小组声称在下一个发行版本中将尽力克服所有上面这些不足,但我仍认为Visual Web Pack是针对JSF开发的极具有生产效率的工具。
企业开发
NetBeans 5.5是第一个支持JPA和EJB 3.0的IDE,并且对之提供了相当优秀的支持。特别是,带有注解(包括对persistence.xml文件的适当设置,甚至还提供一些基本的连接信息)的JPA实体类的自动生成功能将会节约你大量的重复编码时间。而且,自动生成的JPA代码是高质量的,可以立即投入使用。
对于纯粹的企业开发方面,NetBeans对J2EE 1.4和Java EE 5提供了全面支持。特别是,对于J2EE 1.4工程,相应的EJB向导能够生成所有要求的代码(包括business/home/remote接口,以及它们各自的代理实现—更不必提绑定ejb-jar.xml配置文件这样简单的事情)。简言之,NetBeans能够自动为你处理J2EE 1.4相关的大多数琐碎工作,而且也为Java EE 5提供良好的支持(是提供这种支持的第一个IDE,尽管IDEA随后也很快提供了相应支持)。
从其消极的一面看,NetBeans仅对把企业应用程序发布到GlassFish/Sun应用程序服务器和JBoss上提供正式支持。尽管如此,其更新站点也为WebLogic和WebSphere提供了额外的支持插件,但是我还不十分确定是否NetBeans开发小组会正式提供对它们的支持。
另外,免费版本的企业包中还增添了强有力的UML图表特征(包括双向编辑以及与Java代码的同步),而且还提供了BPEL/SOA编辑器。然而,对这些内容的讨论已经超出本文范围。
Eclipse 3.2.2/MyEclipse 5.1.0 GA
网站 www.eclipse.org
网站 www.myeclipseide.com
Swing开发
Eclipse中的Visual Editor是目前(至少还有一段时间)主流Java IDE中功能最弱的GUI编辑器之一,主要因
|