技术开发 频道

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



3. Swing开发
到目前为止,在主要的Java编程工具中,Eclipse的可视化编辑器是最弱的图形用户界面(GUI)编辑器,因为它所支持的非常先进的布局器是网格包布局器(GridBagLayout)。在用惯了NetBean的Matisse(Matisse将是一个支持Swing显示布局的工具,译者按)后,我没法想像采用这种古老而又笨重的方式来进行Swing开发的情景。幸运的是,MyEclipse将Matisse图形用户界面构建器直接集成进Eclipse,并且工作完好。尽管如此,相对于NetBeans团队不断的对Matisse的提升(例如NetBeans6.0即将发布的bean构建器),MyEclipse的这种改进仍然显得力不从心。然而,事实上,Eclipse平台所提供的Matisse功能促使它成为Java编程工具的闪光点:毕竟其它的竞争对手还不能找到愿意完成Eclipse的基本功能的插件开发商。
 
4. JSP/Struts开发
WTP(Web Tools Project)是Eclipse一个的Web开发的特色。它提供基本的JSP开发和JSP编辑。部署WEB应用程序往往是一件不怎么顺利的事情。当我将WEB应用程序部署到Tomcat下时,经常由于错误而导致程序的锁定。但Eclipse在此问题上与其它的JAVA编程工具形成鲜明的对比,它并无此种问题。
WTP也缺少对Struts开发的支持,这似乎是它的一个主要的功能缺陷(尽管在http://www.eclipseplugincentral.com/可以快速查找到不下24种商业或是开源的支持Struts的插件)。通过MyEclipse对Struts的支持完全克服了些漏洞,它包括对struts-config.xml文件的图形化编辑器以及用于创建新的Action和FormBeans的wizards(图10显示了它对Struts的编辑功能)。
附带有MyEclpise的Eclipse是唯一一个提供JSP/Struts网页编辑功能的开发工具(图11显示了MyEclipse可添加Web工程的功能)。但遗憾的是,我在Linux下,由于一个程序错误(bug)导致不能完整的测试此功能。
 
5. JSF开发
现行的Eclipse是提供了支持JSF开发功能的预览版本。尽管它只是预览状态,但就我而言,觉得它实际上已经很有用了,远胜于竞争对手所谓对JSF成熟支持的功能。它包括对faces-config.xml的可视化编辑功能、JSP页面中代码的自动完成功能、新的bean管理功能、可视化创建Converters, RenderKits, and Validators的功能。更让我激动的是,Eclipse开发团队计划发行JSP/JSF的可视化编辑器。尽管MyEclipse的JSF功能比较相似,但在我测试Eclipse时,此功能是最适合的。
 
6. 企业级开发
Eclipse还没有提供对JPA(java持久性API)的支持。但一个名叫Dali的项目将支持此功能,此项目正处于开发的早期阶段。我可以从数据库中产生一个实体的工作集,尽管生成的代码还没有达到NetBeans目前的水平(例如,它不能自动创建命名的查询)。如果你还没有准备采用JPA,而是正使用Hibernate,则MyEclipse将是一种明智的选择,因为它对Hibernate的支持特别好。
对于J2EE开发,Eclipse支持创建EJB和EAR模块。为了避免J2EE的复杂性,似乎采用XDoclet(一个扩展的Javadoc Doclet引擎,译者按)来创建EJB更加适合,因为在采用Java EE5 和EJB3.0做为减小企业级应用程序的复杂性之前,XDoclet被认为是最好的方式。MyEclipse通过以下方式来扩展此功能:提供额外的session beans管理、信息驱动beans、XDoclet驱动容器管理持久beans。
就目前来看,不管是MyEclipse还是Eclipse都还不支持Java EE5。但Java EE5是最新的技术规范,因此我认为Eclipse的奠基者们正忙着支持此规范的功能在新版本中发布(图12-MyEclipse对J2EE 1.4 EJB的wizards)。
0
相关文章