对AJAX的一些理解

首发于我的JR:
http://www.javaresearch.org/article/67029.htm
http://www.javaresearch.org/article/67252.htm
(一)
我从接触AJAX到现在已有一年多时间,对AJAX也有一定的认识。是的,AJAX的出现让人眼前一亮,为那些死板的网页增添不少光彩。也因此,AJAX从一出道就被大势追捧,被各类网站泛滥地使用,对它支持的框架也层出不穷。
很多刚接触AJAX的程序员,可能会有这样的疑问:我该在什么地方使用AJAX,面对那么多框架我该选哪个?
呵呵,我还是先讲讲我对AJAX的一些理解以及与它相关的产物的看法。说得不对的请大家指出。
优点
  ajax之所以这么盛行,必然是有它的优势的地方。我认为其中最重要的有两点:
  1. 浏览器的支持。
      如今的浏览器几乎都能支持ajax,也就是客户端不需要安装任何插件便可使用。保证了所有浏览页面的用户都能体验ajax带来的“快感”。
  2. 建立了服务器/客户端数据的交互。
      数据的交互让静态的页面活起来,改变了原始的刷新页面才能更新数据。使用ajax后,可以捕获任意一个事件(鼠标的移动,滑轮的滚动 等)更新页面的信息。
缺点
  ajax对用户来说是天堂的话,那么它对程序员来说就是地狱。所有使用ajax的程序员(习惯oop的程序员)都会对ajax抱怨。
  1. 非面向对象。
      这是JavaScript语言所决定的,对整个工程难以掌控。代码重用性差。
  2. 难于美工。
      网页离不开美工,而很少有程序员兼美工的。ajax对数据的处理到显示,很难把美工和程序分开,这给开发的分工带来了不少麻烦。
  3. 安全性。
      ajax的安全性在很多资料中都提到。安全性主要是因为javascript解释脚本语言所引起,这需要程序员在代码的编写过程中要考虑更多的问题,来避免代码解释执行过程中出现的错误。

(二)
-------------------------------------------------------------------------------------------
有朋友在上篇留言中说到:js也可以来点oop。是的,对程序员来说oop只是思想上的东西,与语言无关。而就语言来讲,js仅仅是基于对象的语言,而非面向对象语言。看到过很多书上都在介绍利用prototype属性来实现继承,多态。确实,它让js看上去有点java,c语言的味道了,但真正使用过的人都知道,它并不是真正的继承,而且非常的别扭和麻烦。编写出来的代码一大堆,这对解释性的脚本来说不是什么好事(当然,大型的js项目除外)。
      js是可以用上oop的思想的。比方:项目划分成无数个实体,然后进行类封装,再用关联和依赖 建立它们之间的关系(回避一般化关系),最后实现项目的所有功能。这也是程序常用的编程过程。这里回避实体之间的一般化关系,因为前面提到的 js继承实现起来确实很不爽。
XMLHttpRequest
      可以说,没有XMLHttpRequest对象就不会有ajax的出现,XMLHttpRequest建立了客户端和服务器之间的动态交互。它也使我们把c/s的一套东西搬到b/s来用 变为了可能。
      XMLHttpRequest对象的6个方法和6个属性,也渗入ajax的整个流程。创建--设置--发送--回调--获取数据--(用js对css,DOM操作)。
浏览器
      浏览器的兼容性也是ajax要注意的问题,包括XMLHttpRequest对象本身就不是W3C标准。DHTML也没有一个官方的标准,各种浏览器对它的支持也各有不同。其中IE是兼容性最好,用户量也是最多的。但开发调试的时候,最好不要使用IE。建议使用Opera,它在W3C基础上几乎没再做扩展。当然,你觉得不方便的话,那就使用FireFox把,它报错比较准确。
框架
     现在出现的对ajax支持的框架太多了,而这些框架体到的作用无非就是两点:
 1.方便那些熟悉java(或其他语言)的程序员,在服务器端操作,避免去使用客户端的js代码。
 2.为用户考虑更多的问题。比如,浏览器的兼容,对框架项目的解决方案(如:在struts,webwork中使用ajax框架)。
    简单提一下,我比较喜欢的几个ajax框架。
GWT--google的产品,对浏览器的兼容性和稳定性都非常高。google的几大产品很是它成功的案例。
DWR--比较火热的框架,使用简便,资料和教程也很多。
JSON--一种数据格式,对java程序员很友好,我也很喜欢它。
另外,ROR,Sajax,SWATO等也各有优势。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值