几种Ajax框架的比较

首先写写最近想到的这个名称。即到底是叫Ajax框架还是js框架?其实从学到的这几种框架来看,应该是二者的综合吧,也许正是由于这个原因我们平时在名称上才叫得随意点。那么为什么是二者的综合呢?首先,像prototype,Jquery,DWR,Ext等框架很多都封装了一些对页面的处理方法,或者远程调用方法,从这种角度上说,我们可以称之为js框架,因为它只是将js操作封装了一次。然后呢,从另外一个角度来说,有些框架封装的是一些对页面动态更新的方法,比如EXT中的Element封装的一些为页面动态增加样式或者节点的操作,这些都是页面局部更新的,符合web2.0规范,我们可以称之为Ajax框架。呵呵,此为个人理解。

下面说说自己理解的几种Ajax框架(我习惯称之为Ajax框架,因为我觉得局部更新才是它们真正的用武之地)的不同:

 

Prototype,感觉它的作用和JQuery差不多,JQuery应该可以取代它了,二者都是用于封装对htmlcss执行的操作,比如我们要在页面外动态添加某些样式

 

DWR 它的强项不在于页面,在于后台,我们把比较复杂的逻辑放到后台去实现,然后在前台像操作javascript一样操作后台,用起来很方便,就是配置稍稍复杂了点


web.xml

<servlet>

 <servlet-name>dwr-invoker</servlet-name>

  <display-name>DWRServlet</display-name>

 <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>

  <init-param>

     <param-name>debug</param-name>

    <param-value>true</param-value>

  </init-param>

</servlet>

<servlet-mapping>

 <servlet-name>dwr-invoker</servlet-name>

  <url-pattern>/dwr/*</url-pattern>

</servlet-mapping>

dwr.xml

<!DOCTYPE dwrPUBLIC

    "-//GetAhead Limited//DTD Direct WebRemoting 2.0//EN"

   "http://getahead.org/dwr/dwr20.dtd">

<dwr>

  <allow>

    <create creator="new"javascript="JDate">

      <param name="class"value="java.util.Date"/>

    </create>

    <create creator="new"javascript="Demo">

      <param name="class"value="com.hp.myBean"/>

    </create>

  </allow>

</dwr>

主要利用两个包:engine.jsutil.js

engine.js用来转换java代码到javascript函数可以调用的接口

util.js包含一些工具函数来将从服务器返回的数据更新到web页面

 

ext  用于创建前端用户界面,是一个与后端无关的ajax框架,不过由于ext3中增加的direct,可能ext现在和后端的联系更加紧密了.设计思路——数据与界面控件分离

主要包括以下几个部分:

Ext Core       DOM操作和遍历,Ajax,时间处理,动画,模板

Ext.direct     direct类似于dwr,二者原理相同,均是根据后台暴露的功能方法生成前台中对应的javascript函数,不过dwr是专门给java开发者用的,而direct则与语言无                   关,java中使用的是directjngine

Sotre       经常和grid/comboBox/chart一起使用,类似于flex中的datagrid,将从后台获取到的数据绑定到控件上,store负责中间的数据管理。

1  由后台获得数据库查询数据,为Store对象绑定

2 Store对象获得数据以后。由其定义的<Reader>读取到本地(客户端)内存中。

3 Grid已经有StoreId关联的数据仓库,则通过Columns中的各列呈现。

4 Column对象中的Renderer可灵活扩展数据字段值的呈现效果

Ext-UI(页面的一些布局或者一些封装好的控件如FormPanel,Form,Grid组件)

Ext扩展和插件

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值