本文介绍Ajax优于JSF的几个原因讨论,包括JSF的设计思路有点模仿VB,组件化的开发这个方向是没错的,Ajax开发将来也会走这条路。

Sun为什么会搞出一个JSF,JSF为什么会是现在这个姿态,我想原因是这样的:首要,根据组件的Web开发将来会是一个趋势。自包括的组件便于IDE的处理,能够进步开发功率。

Ajax优于JSF的几个原因评论(ajax和js的区别)  Ajax JSF 第1张

便是说JSF优于Struts/WebWork这类MVC结构的优势,在于它能够与IDE结合来主动生成代码。而传统的纯手工编写的MVC结构,影响了开发功率。由于Java技能在客户端并没有显着的优势。Applet现已被扔掉掉,Java的强项在服务器端。Sun不或许跑去运用 JavaScript,由于在传统开发者眼里,JS只配做一点很琐碎的使命。

所以在他们规划的这个架构中,一切的用户事情都放在了服务器端来处理,这个决议计划造成了JSF丧命的缺陷。它把事情处理模型绑死在服务器上,约束了呼应性愈加活络的交互规划。随之而来的网络推迟会销毁软件的可用性。这也是Ajax在JSF的架构中无法充沛发挥作用的原因。

JSF的规划思路有点仿照VB,组件化的开发这个方向是没错的,Ajax开发将来也会走这条路。可是JSF与VB***的不同是VB的事情模型都是坐落本地来处理的。这是一种本质上的不同,所以假如JSF的确想仿照VB,那也是东施效颦。并且在JSF的规划阶段,同步的恳求/呼应是干流,他们的思路依然牢牢捆绑在根据页面的开发方法上。底子就没有思考过其他的或许。

异步恳求/呼应是Ajax与传统开发方法***的不同,异步带来了更好的交互规划。

GoogleMaps中当用户翻滚地图时,获取新的地图图片,由所以异步恳求的,因而不会打断用户的操作流程。而在传统的地图服务,每次翻滚或许都需求改写页面。用一下微软的那个地图服务就能够感觉到显着的距离,它乃至底子就不答使用户翻滚地图。

曾经我说GoogleMaps不是Ajax,由于没有运用XMLHttpRequest,这样说看来了解有些狭窄。GoogleMaps恳求地图的图片,选用的是修正动态创立的img元素的src特点的方法,这样的恳求不会打断用户的操作,因而便是异步的。咱们在AjaxinAction中看到作者将 GoogleMaps当作Ajax使用,而在PragmaticAjax中作者说GoogleMaps不是严厉意义上的Ajax,两种说法都有道理。

JSF其实假如和Applet结合,或许更好些。Applet是多线程的,能够捕获用户的操作事情,选用异步方法发送到服务器。这样就不会打断用户的操作了。可是这样一来规划的这个架构就杂乱了。并且Applet是现已决议扔掉的东西。JSF和JavaWebStart结合也能够,不过JWS规划用来制作一类彻底不同的Web使用,即RichClient,而不是规划用来制作运转于浏览器之内的RIA使用。所以JSF最多仅仅一种过渡计划,在 Ajax/Flash的竞赛下早已风光不在。

未来根据浏览器的RIA开发,Ajax、Flash是两种最有出路的技能。

依照泽欣的判别或许是三分全国,Ajax、Flash/Flex/Laszlo、还有M$的Atlas。Atlas是M$开发的类似于Flash的一种技能,现在还仅仅一个vaporware,没有看到其庐山真面目。JavaWebStart相比之下只能局限于一些内部使用。

【修改引荐】

  1. JSF了解组件和客户端标识符
  2. 过渡技能的Ajax及Apusic JSF
  3. ESRI为什么挑选JSF
  4. 浅析对JSF项目的单元测试
  5. 构建Ajax JSF事情驱动
转载请说明出处
知优网 » Ajax优于JSF的几个原因评论(ajax和js的区别)

发表评论

您需要后才能发表评论