信息化 频道

医院统一通信应用初探



二、Java Web框架大行其道

    虽然现在关于Web的技术很多,支持Web的语言也很多,但最吸引眼球的还是和Java相关的Web技术。这在很大程序上要拜各种Java Web框架所赐。

    记得几年前,Java框架开始火的时候,Struts一马当先,以MVC模式的独特美丽雄居Java Web框架榜首。同时和Struts相关的技术书籍也大量涌现。Struts1.x虽然在功能上很强大,但由于其在使用和部署上非常麻烦,也招来了不少骂声。不过还是稳定和强大压倒一切,虽然Struts1.x使用繁琐,但其却解决了IT应用技术最令人头疼的问题:标准化和规范化。每个程序员都有自己的思路和习惯,写出来的代码也是五花八门。Java何以成为编程界的老大,很重要的一点在于Java的规范化。这种规范化很高的语言适用于多人合作的大型项目,便于沟通和理解,也就便于集成和维护。Java世界为什么会框架横飞,说到底还是规范化的需要。纯JSP和Struts写Web谁快,摆明了是JSP。那撑饱了用Struts?原因在于100个人写出来的JSP,有100种写法;而100个人写出来的Struts,基本相似。Struts之成功,正缘于其在Java Web层的规范化方面所做出的贡献。

    也许是Struts的设计者注意到了Struts的复杂。但又不想完全自己来解决这个问题。于是又找了一个虽然不错,但并未得志的框架WebWork。就形成Struts2。虽然这样以来Struts2象是拼凑出来的。但它们结合的还算不错。Struts2在使用上要比它的父辈Struts1.x方便的多。再加上原来Struts1.x拥有大量的用户,因此,Struts2的前景还是比较乐观的。

    然而长江后浪推前浪,Struts虽然借用WebWork从一定程度上摆脱了给人复杂的印象。但于由其在技术上算不上先进,而之所以现在很流行,主要是因为其出现在较早,并且拥有大量的用户。但Struts的技术缺陷毕竟是隐患。

    也许是Sun看到了这一点,所以全力推出了一个JSF技术。打算一雪Web层框架缺失之耻。JSF和ASP.NET类似。这项技术目前至少比Struts、Webwork高出一个档次。总的来说,使用JSF主要有以下两点好处:

1. 使Web开发成本大大降低,这其中包括开发成本、维护成本和升级成本。

2. 由于JSF提供了大量的组件,因此,可以给用户提供更多的定制能力。

    我们使用AJAX的应用显然主要是为了提升用户的操作体验,而客户定制能力个人认为将会引起更大的关注,服务端逻辑的定制能力目前要比客户端强不少。但可惜的是JSF仍沿用Swing的技术路线,又要学ASP.NET,还要照顾产商的IDE,结果搞了个四不象,弄得里外不是人。当然Sun的技术实力毕竟是超强的,只要别重蹈EJB的覆辙,拿出点专断的精神,就像这两年的NetBeans一样,做出像Swing那样水准的东西,JSF应当大有作为。从技术层次来看,JSF现在比较有优势的是对AJAX的集成,这一点走在了其他框架的前面。

    除了像Struts、JSF这些流行伯构架外,还有一些其他的构架。虽然这些构架无论在知名度,还是在厂商的支持上都不如前者。但它们也同样在自己的领域里发挥着作用。如Tapestry。这个框架是非常出色的。尤其是Tapestry4.0。它完全贯彻了OO的思想.但其封装得太彻底了,对于新手的开发人员的学习成本很大(特别是没有人指导的情况).比较不好的一点就是Tapestry4.0开发只有一个人,没有大厂商的支持.另外Tapestry4.0到Tapestry5.0的变化太大了.虽然Tapestry5.0架构更加的优秀.可是由于不兼容,导致了出现断层的现象。还有Wicket呢?其实JAVA WEB方面的框架非常之多,只是一般的公司只使用那么几种流行的框架,像Click Framework,我觉得也是一个不错的WEB框架。只是从目前国内的情况来看,Struts1.X,估计还会存在相当一段时间。

0
相关文章