web框架主流上分为两类

上传人:自*** 文档编号:79724106 上传时间:2019-02-17 格式:DOC 页数:21 大小:134.80KB
返回 下载 相关 举报
web框架主流上分为两类_第1页
第1页 / 共21页
web框架主流上分为两类_第2页
第2页 / 共21页
web框架主流上分为两类_第3页
第3页 / 共21页
web框架主流上分为两类_第4页
第4页 / 共21页
web框架主流上分为两类_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《web框架主流上分为两类》由会员分享,可在线阅读,更多相关《web框架主流上分为两类(21页珍藏版)》请在金锄头文库上搜索。

1、Web框架主流上分为两类:MVC框架和事件响应机制框架MVC框架有Struts,Webwork,Spring MVC,事件框架有JSF,Tapestry,Echo等。Java Web框架种类繁多,花样迭出,主流一点的就有Struts,Webwork,SpringMVC,JSF,Tapestry,至于非主流的就更加不计其数了。还有很多基于这些框架的衍生框架,例如基于Struts的beehive,基于JSF的JBoss Seam,基于JSF的MyFaces,Shale等等。对于开发人员来说,过多的选择是一种沉重的负担,不但需要花更多的时间去学习,也需要更多的时间去维护基于不同框架的代码。 由于面临

2、着dotnet统一的web框架webforms以及异军突起的rails的强势挑战,Java业界也感受到竞争的丝丝寒意,这不,众多Java Web框架的核心开发人员终于可以坐到一起,商量着Web框架的统一和互操作的问题了。 http:/ 由众多Java Web框架的开发人员组成的一个团队Java Web Alignment Group,这其中包括了Struts,Webwork,JSF,Beehive,JBoss Seam,Spring MVC等众多框架核心开发人员组成,目标则是加强交流和合作,促进各个Web框架之间的协作,给Java开发人员提供尽量方便的解决方案。 他们讨论的内容在Yahoo G

3、roup:http:/ 加入这个mailist需要批准。 目前这个Group的讨论已经得到了一个显著的进步:struts,webwork和beehive的合并! 我们知道Web框架主流上分为两类:MVC框架和事件响应机制框架。MVC框架有Struts,Webwork,Spring MVC,以及一些基于这些框架的框架,如Spring Webflow, Beehive等等;事件框架有JSF,Tapestry,Echo等。除此之外,还有一些连接两者的框架,如Struts Shale等等。 经过一段时间的讨论,Struts,Webwork和beehive三方宣布合并,共同发展下一代MVC模式的MVC框

4、架Struts Ti。它将主要以Webwork为核心,集成Beehive的annotataion和pageflow功能,推向Struts用户群体,并且加强和JSF的集成能力。 这次合并的前景是值得期待的,在MVC领域,主流的选择将在Struts Ti和Spring MVC之间。不过从目前的情况来看,Struts Ti不会进一步和Spring MVC进行合并。Spring MVC的开发人员希望保护现有的Spring MVC合作伙伴和客户,以及在Spring webflow上面的巨大投入。 让我们期待该组织的更进一步的成果吧 Java Web 应用框架的下一个王者是谁?经过数年的“框架大战”,Ja

5、va界的各种框架找到了自己应有的位置。 Spring+Hibernate+Struts已成为Java开发的主流体系。在这个体系中,Spring+Hibernate的地位应该说短期内是难以撼动了。除了新兴的Jboss Seam作为挑战者之外,几乎难有劲敌。有趣的是当初Spring、Hibernate作为挑战者,将官方的EJB成功挑落马下;这次反倒是官方的EBJ3成了挑战者,不知结局如何。 Java B/S编程中历来战火最激烈的其实还在Web层,框架的数量最多,争议最大。 一切由Struts而起,而Struts最终也坐稳了第一个时代的王座。在技术层面,Struts 1.x已经被无数人抱怨过、批评过

6、,但终于还是稳坐王位,这充分说明了习惯的力量。“稳定压倒一切”,这句话在IT技术领域仍旧适用。 其实IT应用技术,什么新鲜玩意并不难学。难的是标准化和规范化。每个程序员都有自己的思路和习惯,写出来的代码自然是五花八门。Java何以成为编程界的老大,很重要的一点在于Java的规范化。这种规范化很高的语言适用于多人合作的大型项目,便于沟通和理解,也就便于集成和维护。Java世界为什么会框架横飞,说到底还是规范化的需要。纯JSP和Struts写Web谁快,摆明了是JSP。那撑饱了用Struts?原因在于100个人写出来的JSP,有100种写法;而100个人写出来的Struts,基本相似。Struts

7、之成功,正缘于其在Java Web层的规范化方面所做出的贡献。 然而长江后浪推前浪,Struts 1.x的技术缺陷毕竟是隐患。 Sun力推JSF,打算一雪Web层框架缺失之耻。可惜JSF既要沿用Swing的技术路线,又要学ASP.NET,还要照顾产商的IDE,结果搞了个四不象,弄得里外不是人。当然Sun的技术实力毕竟是超强的,只要别重蹈EJB的覆辙,拿出点专断的精神(像这两年的NetBeans),做出像Swing那样水准的东西,JSF当大有作为。JSF现在比较有优势的是对Ajax的集成,这一点走在了其他框架的前面。 而Struts就更没有志气了,把WebWork换了个标签,凑出个Struts2

8、,Bug多多。说实在话,根本不如原版的WebWork。如果不是靠了原先的fans捧场,根本就没得混。不过Struts原本就不是以技术取胜的,靠的是抢占先机带来的习惯优势。如果原先的fans们在这两年内都能转到Struts2,那么Struts二世仍将雄霸天下。 综上所述,未来两年,JSF与Struts将展开Java Web框架的最终战争。 以笔者愚见,结局有二:一是不论Struts还是JSF获胜,Java Web层都将结束混战的局面,这对Java Web开发的标准化是非常有利的,并有助于巩固Java在B/S界的地位;二是Struts1.x、Struts2、JSF三分天下,必然从整体上削弱Java

9、在B/S界的竞争力,并将进一步被RoR、ASP.NET、PHP所蚕食。 2. Java Web开发技术的发展 在JSP盛行的头几年,业界对JSP的前景寄予厚望,这点很大方面是挟Java之威,并在Web应用开发领域体现出来一股霸气。而实际上,JSP在项目中大规模的成功应用,也接受住了考验。应该说,在JSP、ASP以及PHP的“三国争霸”较量中,JSP以强大原生语言以及丰富类库支持的优势,首先打败的是ASP,而非PHP,因为当时PHP走的是“草根”发展模式,避免了与JSP正面交峰。 JSP在大规模应用的同时,也遇到了些问题或局限,如:逻辑和页面代码容易混合在一起、调试不方便,工具支持困难等等。这些

10、问题如何解决? 网络的发展,是当前软件领域快速发展的一个动力!“三十年河东、三十年河西”,在Web技术发展历程中,三年都很长了。随着ASP.NET的推出,其技术上的实现是先进的,并有.NET框架的强大支持,控件事件的方式也让人觉得耳目一新。 同时,在MVC模式被业界普遍接受的形势下,JSP方面针对自身缺陷,也有所动作,如JSTL、EL等技术的引入,此外,Java Web开发技术方面的各种框架也在新形势下借助开源的力量发力,快速前进,并针对JSP所遇问题提供各种切实可行的解决方案,从而得到广泛应用。不管是对.NET阵营、还是对Java阵营而言,所有的这些发展,都提高了Web开发工作的效率和可复用

11、性。 回首近几年来Web开发技术的发展历程,可以发现各种Web开发技术之间即是相互竞争,促进和借鉴的关系,适者生存、劣者淘汰。一个典型的例子就是曾经让很多为之倾倒的Struts,在为Java Web技术应用作出巨大贡献之后,为了进一步更好的发展,正在和WebWork走向相互的融合之路。 此外,在这竞争过程中,我们不得不提同样来自于开源社区的黑马Ruby on Rails, 在2006年,忽如一夜春风来,各种快速开发框架如千树万树梨花开。不用问,这都是被rails刺激。Groovy,Django,Able,Seam,Rife,Stripes,数不胜数。不过rails能够领先的秘诀其实是其设计思想

12、的领先和敏捷的Web开发,一时间,到处都是新兵Ruby on Rails 挑战Web开发技术的内容,平心而论,在企业级应用方面,Ruby on Rails还有很长的路要走,在时间面前,谁又能保证永远独领风骚呢?毕竟,在开源的世界里永远不缺少奇迹!3. 开源的世界如此美好 Java Web开发技术与A有显著的不同之处,那就是开源,这相对微软技术的专有性而言,是个得天独厚的优势,因此,Java Web框架有着强大的生命力,其生命力就来源于开源社区源源不断地贡献。应该深信,开源的力量如此强大,只要开源模式成熟到一定程度,开源应用必将遍布各个领域,在Java Web开发领域里,事实也正是如此! 王者般

13、的Struts、轻快简洁的WebWork、功能强大而较难掌握的Tapestry、易于集成的Spring MVC,还有Java EE标准的JSF,各式各样的Java Web框架凝聚了开源社区的努力和心血,虽说都是“剑”,但此“剑”非彼“剑”,面对这么多令人眼花缭乱的“利剑”,你又如何选择? 如此多优秀的技术摆在面前,我更愿意理解成机会!也就是给我们更多的选择机会!选择一种好的Java Web实现技术,对构架设计非常重要,我的选择原则是: l 和业务的匹配程度:选择复杂而功能强大的、还是选择简单而快速的?要根把业务的需求,进行适当选择。 l 熟悉程度。使用熟悉的技术,往往能把这种技术的潜力发挥到极

14、致,即使是再新的技术,如果不熟悉,还是枉然。 l 技术成熟度:选择一种有口碑并经过实践验证的技术,系统的稳定型、可扩展性以及和其他技术的协作性,都很重要。 l 技术先进性:技术先进性是要考虑的,但技术先进性也是相对的,“老”技术也有其存在道理,甚至连Cobol都还没“绝迹”,所以只要在可接受范围,就不必太过计较是“老技术”还是“新技术”。 l 兴趣:这个因素应该服从上面所提到的其他因素,比如,我个人比较喜欢WebWork框架,我称之为一把好用的“妖刀”,但在实际中,我不会轻易就选择它,在大多数开发人员熟悉Struts的情况下,而Struts也适合,那就应该选择Struts。但你完全可以把你感兴

15、趣的技术作为个人爱好来研究、学习。 把握以上原则,应该可以作出选择,一个技术是否会败落,取决的因素很多,但从另一方面来看,一种技术的生命力往往是很强的,如C,在金融、证券、电信等行业的关键业务处理中,占据了重要位置;再如Struts 1.X,虽然它的一些理念和当今新的一些框架相比,略显落后,但其已经得到相当规模的应用,就是在Struts 2面前,它在应用中的地位也不容忽略。 开源模式加速了技术发展,技术发展让我们不断进步,就Java Web开发技术来说,做好选择是必然,深入掌握好一种技术,再尝试其他类似技术,大多情况下,可以做到触类旁通。 可以说,随着SUN一系列Java开源策略的出台,开源社区在包括Java Web技术在内的Java诸多技术领域里的贡献将变得越来越多,影响力也会越来越大,Java也将在开源力量的帮助下,进一步巩固其在企业级应用开发领域的霸主地位。 4. Java Web开发趋势 未来Java Web开发技术的发展趋势仍然是多元化发展。其中的任何一种技术,都有其优、缺点,如Tapestry是一种组件式框架

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号