内容摘要 -
就象它的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世界的前沿开发。
全文 -
Java开发领域三个著名的IDE—NetBeans,Eclipse/MyEclipse和IntelliJ IDEA相对全面的比较
Java开发领域三个著名的IDE—NetBeans,Eclipse/MyEclipse和IntelliJ IDEA的最新版本进行相对全面的比较。在四大领域—Swing,JSP/Struts,JavaServer Faces和J2EE/EJB 3.0—从事开发时,你可以在选择这些工具时有所参考。
本文旨在对三个主流Java IDE—NetBeans,IntelliJ IDEA和Eclipse—的常规特征(安装、性能及编辑器,等)进行对比分析,但仍然把重点放在Swing,JSP/Struts,JavaServer Faces(JSF)以及J2EE/EJB 3.0开发等重点领域特征的比较上。
NetBeans 5.5。
Swing开发
NetBeans最值得称道的就是其著名的新开发的Matisse GUI设计器,这个工具基于新的GroupLayout布局管理器(它最初是由NetBeans开发小组自己开发的—在纳入到基本JDK前作为一个扩展开发)构建。由于采用了基于基线型设计技术(即是,基于一个控件中实际文本的位置自动地对齐控件),所以,创建具有专业外观的UI变得相当容易。事实上,其强有力的缩放和停靠功能使之成为我所见过的运行于任何平台上任何语言中最棒的UI设计器。
在安装5.5版本之后,我还下载了最新的更新包—该包支持从未来的6.0发行版本逆向移植到当前的5.5版本。其中提供了一些极具生产效率的特征,例如自动国际化以及使用定制表单/面板(只要在你的工程内至少成功地编译它们一次)的功能。Matisse就是NetBeans团队所具开发水平的一个极为优秀的例证(图1展示了实战中的Matisse)。
对于Swing开发者来说,使用NetBeans的另外一个优点是,他们能够使用它提供的强有力的RCP(丰富的客户端平台)向导来创建新的复杂的Swing应用程序。考虑到Eclipse的基于SWT的RCP的流行性,NetBeans开发小组竭尽全力开发出一种相当可行的基于Swing的选择方案,并且,恕我直言,其效果给人留下极为深刻的印象(尽管对于小型工程开发而言,初始学习时可能要费些劲)。
JSP/Struts开发
此外,NetBeans中还提供了一个很好的JSP编辑器—它提供了我们期望的所有基本特征以及所有的基本向导,并且为我们免除了启动一个新的Struts工程相关细节设置的麻烦。由于加入了一个嵌入式Tomcat容器,开发以及测试JSP应用软件变得特别容易和迅速。图2展示了NetBeans web应用程序向导。
这个NetBeans web应用程序向导能够自动地配置web.xml和struts-config.xml文件,并且能够添加对于Tiles和Validator的支持。此外,这个向导还能够针对文件struts-config.xml提供一些上下文菜单选项,甚至还包含添加ActionForms,Actions和Forwards等内容的子向导。但是,它没有提供任何可视化编辑器以便用于展示应用程序中的页面导航,并且也没有针对Tiles和Validators配置提供任何额外支持。
作为个人观点,我发现5.5版本中对于Struts的支持也相当体面,但是显然还不如Matisse所实现的那样流畅。此外,它也没有提供针对JSP或HTML页面的可视化编辑器(这对于老手决不是一个问题,但对于更多的初级程序员却是一个良好的特征)。而且,这个版本中也缺乏在JSP编辑器中对于适当的嵌入式JavaScript的支持,而仅仅提供了一个基本的CSS编辑器(尽管在安装Visual Web Pack后效果会稍好一些)。因此,所有这些方面都需要作进一步改进(图3展示了NetBeans对Struts框架提供支持的一个示例)。
JavaServer Faces开发
NetBeans对JSF的支持非常类似于它对Struts的支持。为此,它提供了一个向导,从而可以得到一个基本的工程框架,其中包括所需要的库、配置所有要求的文件,甚至在其JSP编辑器中还提供了针对支持bean属性的代码自动完成功能;另外,还提供了一些向导用于简化文件faces-config.xml中的
|