struts Spring Hibernate tapestry jsf ejb 用哪一个
2006-12-12 12:32
|
Spring+Hibernate是目前的主流没错,不过这只是服务层和持久层的部分,至于显示层,有多少人愿意使用不够成熟且不易使用的Spring MVC?!
而Struts经过长达5年的发展,现在已经是相当成熟和稳定了,而它的最大好处就在于它易于学习和使用。如果一个公司招Web程序员,会struts的 一抓一大把,使用struts技术,软件公司不愁招不到程序员,程序员也不用担心没有公司不要...诸多因素导致了struts当之无愧的成为了目前的主 流。
Spring MVC?它好,因为它完美的结合了Spring框架的诸多特性;它不好,因为它开发过程复杂,难以学习和使用,而且jsp中需要加入很多特定的标记,这些 注定了它不会成为当前的主流。将来很难说,什么都在变,特别是这些开源的东东,变化得更快...
大家也可以关注下Tapestry,这也是一个显示层框架,它的核心是组件化开发,所有的东西都成了组件,要做一个新页面时,可以拿着已有的组件来拼凑, 这样极大的减少了代码量,并提高了程序的复用性,另外,它完美的实现了界面和后台的分离,html页面中不用添加和使用任何其他标记,仅仅是在纯html 标记中加上一个它的id。Tapestry也有不好的地方,它的学习曲线太长,一个普通程序员将需要花费较长的时间才能学会使用它,而一个公司也需要花费 很长的时间来积累自己的组件库。
所以我觉得目前的两种结构应该是:struts+spring+hibernate,这适合于小型项目的开发,优点是快速、灵活,简洁;tapestry +spring+hibernate,这适合于中大型项目开发,开发越到后期,积累的组件库越多,代码编写量越少,模块复用性越高。后边这两点,我想应该 是一个有“远见”的软件公司所期望的...
至于楼主提到的JSF,听听Matt Raible(J2EE5.0专家组成员、开源项目Roller Weglogger、XDoclet、Struts Menu,DisplayTag,AppFuse提交者)的意见:
JSF的优点:J2EE标准、易于开发、丰富的导航框架
缺点:JSP标签差、技术不成熟
项目时间紧迫且没有太高要求,Struts是首选;对于大规模的企业级项目,考虑Tapestry,因为它的可重用组件;如果你是一名开源项目的开发人员,考虑WebWork,因为它要求你对它本身的运行机制要清楚(强迫你分析它的源代码)
而EJB,不敢预测它未来会怎样,不过也不抱太大的期望!
|