="t18">1.Purejavascript: Application Frameworks
1.1Bindows (成立于2003年)
Backbase是
![](/icons/66979yi.gif)
个通过DHTML、JavaScript、CSS和HTML等技术强劲联合起来
![](/icons/66979de.gif)
![](/icons/66979yi.gif)
套完整
![](/icons/66979de.gif)
Windows桌面式
![](/icons/66979de.gif)
WEB应用
![](/icons/66979chengxu.gif)
解决方案
![](/icons/66979dou2.gif)
Bindows无需下载安装客户端支撑组件(如Java、ActiveX或Flash)
![](/icons/66979dou.gif)
仅需
![](/icons/66979yi.gif)
个浏览器
![](/icons/66979dou2.gif)
纯OO
![](/icons/66979de.gif)
理念体现在Bindows任何地方
![](/icons/66979dou.gif)
Bindows或许是笔者见过
![](/icons/66979de.gif)
最完整最强大
![](/icons/66979de.gif)
javascript:void(0);">AJAX应用
![](/icons/66979chengxu.gif)
平台
![](/icons/66979dou2.gif)
Bindows是商业
![](/icons/66979chengxu.gif)
![](/icons/66979de.gif)
![](/icons/66979dou.gif)
使用了来自于MB
![](/icons/66979de.gif)
技术(总部位于GA USA
![](/icons/66979dou.gif)
主要开发中心在瑞典
![](/icons/66979dou.gif)
成立于2002年)
![](/icons/66979dou2.gif)
Bindows框架提供
![](/icons/66979de.gif)
功能和特性有:
基于面相对象技术
![](/icons/66979de.gif)
类和API
![](/icons/66979yi.gif)
套完整
![](/icons/66979de.gif)
Windows桌面系统
![](/icons/66979dou.gif)
支持各种特性窗口模式
![](/icons/66979dou.gif)
包括菜单、表单、表格、滑动条、测量仪器窗口和其他
![](/icons/66979yi.gif)
些Windows窗口特性支持
![](/icons/66979dou2.gif)
是开发zero-footpr
![](/icons/66979int.gif)
(零空间占用)SOA客户端应用
![](/icons/66979chengxu.gif)
首选工具包
本机
![](/icons/66979de.gif)
XML
![](/icons/66979dou.gif)
SOAP和XML-RPC支持
单用户到企业级开发
![](/icons/66979de.gif)
支持
内建
![](/icons/66979de.gif)
完美
![](/icons/66979de.gif)
javascript:void(0);">AJAX支持
Bindows开发环境:
支持企业级规模
![](/icons/66979de.gif)
项目开发
跨浏览器、跨OS平台
![](/icons/66979de.gif)
支持
不受服务器结构限制
良好
![](/icons/66979de.gif)
和新
![](/icons/66979de.gif)
、现有
![](/icons/66979de.gif)
资源互操作性
统
![](/icons/66979yi.gif)
![](/icons/66979de.gif)
开发接口
1.2BackBase (成立于2003年)
BackBase是
![](/icons/66979yi.gif)
个完整
![](/icons/66979de.gif)
浏览器端框架
![](/icons/66979dou.gif)
提供了丰富
![](/icons/66979de.gif)
浏览器操作功能
![](/icons/66979dou.gif)
以及对.NET和JAVA平台
![](/icons/66979de.gif)
集成
![](/icons/66979dou2.gif)
商业化产品
![](/icons/66979dou.gif)
来自于Backbase B.V(总部在Amsterdam
![](/icons/66979dou.gif)
成立于2003年)
![](/icons/66979dou2.gif)
1.3DOJO (开发中,成立于2004年9月)
DOJO提供完整
![](/icons/66979de.gif)
轻量级窗口组件和浏览器-服务器消息映射支持
提供创建自定义Javascript窗口组件
![](/icons/66979de.gif)
框架支持
预制
![](/icons/66979de.gif)
丰富
![](/icons/66979de.gif)
窗口类型库
B/S消息映射支持——XMLHttpRequest和其他机制
支持浏览器中
![](/icons/66979de.gif)
URL操纵功能
开源许可(Academic Free License 2.1)
![](/icons/66979dou.gif)
由JotSpot
![](/icons/66979de.gif)
Alex Russell所领导
![](/icons/66979dou2.gif)
1.4Open Rico (开发中;成立于2005年5月;基于早期
![](/icons/66979de.gif)
![](/icons/66979yi.gif)
个proprietary 框架)
Open Rico是
![](/icons/66979yi.gif)
个支持Ajax架构和用户交互
![](/icons/66979de.gif)
多用途框架
![](/icons/66979yi.gif)
个XMLHttpRequest response能被
![](/icons/66979yi.gif)
个或多个
![](/icons/66979de.gif)
DOM对象
![](/icons/66979dou.gif)
或者Javascript对象
![](/icons/66979diaoyong.gif)
![](/icons/66979dou2.gif)
支持拖拽操作
支持基于javascript:void(0);">AJAX
![](/icons/66979de.gif)
动画模式
![](/icons/66979dou.gif)
如缩放和变换等
基于Behaviors
![](/icons/66979de.gif)
操作库
使用指南
![](/icons/66979dou.gif)
由RussMirimar
![](/icons/66979de.gif)
Yonah提供
开源
![](/icons/66979dou2.gif)
源于Sabre航空公司解决方案
![](/icons/66979dou.gif)
由Bill Scott
![](/icons/66979dou.gif)
Darren James及另外
![](/icons/66979yi.gif)
些人维护
![](/icons/66979dou2.gif)
1.5qooxdoo (开发中; 成立于2005年5月)
qooxdoo
![](/icons/66979dou.gif)
是另
![](/icons/66979yi.gif)
个发展迅猛
![](/icons/66979de.gif)
应用框架
![](/icons/66979dou.gif)
提供广泛
![](/icons/66979de.gif)
UI支持
![](/icons/66979dou.gif)
正在开发基础架构等特性
![](/icons/66979dou2.gif)
基础结构特性:
能轻易
![](/icons/66979de.gif)
捕获和操纵DOM事件
支持调试
支持
![](/icons/66979yi.gif)
个时间操作
![](/icons/66979de.gif)
Timer类
Getter/Setter支持
UI:
窗口组件库和框架
界面布局管理
图像缓存Cache和透明PNG图片处理
开源(LGPL).
1.6 Tibet (开发中; 创建于2005年6月)
Tibet提供了大量
![](/icons/66979de.gif)
易移植和完整
![](/icons/66979de.gif)
JavaScript API
![](/icons/66979dou.gif)
通过这些可以快速生成大量
![](/icons/66979de.gif)
客户端代码
![](/icons/66979dou.gif)
Tibet自称是企业级javascript:void(0);">AJAX
![](/icons/66979dou2.gif)
远程脚本
![](/icons/66979diaoyong.gif)
封装在XMLHttpRequest中
URI支持
支持所有
![](/icons/66979de.gif)
HTTP事件
![](/icons/66979dou.gif)
不再仅仅是GET和POST
低级
![](/icons/66979de.gif)
协议-File://和WebDav也可以当作HTTP正常使用
Web Services
![](/icons/66979diaoyong.gif)
支持
![](/icons/66979dou.gif)
包括SOAP、XML-RPC等等
大型
![](/icons/66979de.gif)
Javascript对象库
多种多样
![](/icons/66979de.gif)
XML操作支持
IDE和开发工具
开源协议(OSI)
1.7 AJFORM (创建于2005年6月)
AJFORM是
![](/icons/66979yi.gif)
个极易上手
![](/icons/66979de.gif)
javascript:void(0);">AJAX框架
![](/icons/66979dou.gif)
被用来编写入门级
![](/icons/66979de.gif)
javascript:void(0);">AJAX代码
![](/icons/66979dou.gif)
提供有以下功能:
3步安装
自动支持任意HTML表单元素
几乎无需编码即可实现javascript:void(0);">AJAX
2 Purejavascript: Infrastructural Frameworks
2.1 AjaxCaller(创建于2005年5月
![](/icons/66979dou.gif)
目前是Alpha版)
AjaxCaller是
![](/icons/66979yi.gif)
个具有多线程安全访问
![](/icons/66979de.gif)
XMLHttpRequest组件
![](/icons/66979dou.gif)
主要针对Ajax开发新手
![](/icons/66979dou.gif)
目前仍处于alpha开发阶段
![](/icons/66979dou.gif)
仅在AjaxPatterns
![](/icons/66979de.gif)
在线搜索范例中使用了这个
![](/icons/66979chengxu.gif)
![](/icons/66979dou2.gif)
用明文或者XML结构
![](/icons/66979de.gif)
数据实现和服务器
![](/icons/66979de.gif)
交互(GET/POST/PUT/DELETE)
支持XMLHttRequest对象
![](/icons/66979de.gif)
构析(销毁对象
![](/icons/66979dou.gif)
C
![](/icons/66979jiajia.gif)
支持内存对象
![](/icons/66979de.gif)
构析操作)
支持Response
![](/icons/66979de.gif)
高速缓存Cache(尚在计划中)
简单
![](/icons/66979de.gif)
库文件代码易于新手学习使用
![](/icons/66979dou.gif)
并且支持脚本调试
开源协议
2.2 Flash JavaScript Integration Kit
The Flash JavaScript Integration Kit可以使Flash和Javascript脚本实现相互集成
![](/icons/66979dou2.gif)
可以实现在JavaScript中
![](/icons/66979diaoyong.gif)
Flash ActionScript脚本
![](/icons/66979dou.gif)
反的亦然
![](/icons/66979dou2.gif)
几乎支持双方主要数据类型
![](/icons/66979de.gif)
在区别环境中
![](/icons/66979de.gif)
传递
![](/icons/66979diaoyong.gif)
![](/icons/66979dou2.gif)
开源协议
![](/icons/66979dou.gif)
有几个Flash开源爱好者维护
![](/icons/66979dou2.gif)
2.3 Google AJAXSLT (2005年6月发行)
Google AJAXSLT
![](/icons/66979dou.gif)
是
![](/icons/66979yi.gif)
个Javascript框架
![](/icons/66979dou.gif)
用来执行XSLT转换以及XPath查询
![](/icons/66979dou2.gif)
目前在Google Map上就使用了这个
![](/icons/66979dou2.gif)
开源协议(BSD)
2.4 HTMLHttpRequest(Beta版;创建于2005年)
HtmlHttpRequest最大
![](/icons/66979de.gif)
特点就是运用XMLHttpRequest对象和标准HTML标签IFrame来实现最大限度
![](/icons/66979de.gif)
跨浏览跨平台
![](/icons/66979de.gif)
javascript:void(0);">AJAX支持
![](/icons/66979dou.gif)
其原理是在支持XMLHttpRequest
![](/icons/66979de.gif)
浏览器上
![](/icons/66979diaoyong.gif)
XMLHttp
![](/icons/66979dou.gif)
如果不支持
![](/icons/66979dou.gif)
就用IFrame来模拟实现异步交互
![](/icons/66979dou2.gif)
目前支持
![](/icons/66979de.gif)
浏览器:IE6/Win, IE5.5/Win, IE5/Win, IE4/Win, Mozilla/Win, Opera7/Win, Safari/Mac, IE5/Mac
尚未测试
![](/icons/66979de.gif)
浏览器:IE4/Mac, Mozilla/Mac, Opera/Other, Konqueror/Linux
![](/icons/66979dou2.gif)
开源协议(LGPL)
2.5 Interactive Website Framework (创建于2005年)
Interactive Website Framework定位在浏览器中支持各种各样
![](/icons/66979de.gif)
javascript:void(0);">AJAX基础应用
![](/icons/66979de.gif)
开源项目
![](/icons/66979dou2.gif)
自称是通过JavaScript、CSS、XML和HTML实现高性能
![](/icons/66979de.gif)
交互式WEB框架
![](/icons/66979dou.gif)
包括
![](/icons/66979yi.gif)
个可定制易读
![](/icons/66979de.gif)
XML解析器
![](/icons/66979dou2.gif)
实际上
![](/icons/66979dou.gif)
IWF是
![](/icons/66979yi.gif)
个javascript:void(0);">AJAX
![](/icons/66979de.gif)
基础框架
![](/icons/66979dou.gif)
并且还包括
![](/icons/66979yi.gif)
些通用脚本代码
![](/icons/66979dou2.gif)
实现了线程安全
![](/icons/66979de.gif)
XMLHttpRequest
对XML Document进行封装
![](/icons/66979dou.gif)
以便创建更具有可读性
![](/icons/66979de.gif)
代码:
var node = doc.groceries.frozen[0].pizza[0].size;
封装后
![](/icons/66979de.gif)
数据读取
var node = doc.documentElement.firstChild.firstChild.getAttribute("size");
原始
![](/icons/66979de.gif)
DOM操作读取
开源协议
2.6 LibXMLHttpRequest (2003年6月发布)
libXmlRequest是
![](/icons/66979yi.gif)
个小型XMLHttpRequest封装包
用getXML
![](/icons/66979kh.gif)
和postXML
![](/icons/66979kh.gif)
两个事件简化XMLHttpReuqest
![](/icons/66979diaoyong.gif)
支持XMLHttpRequest对象池
Response缓存Cache处理
源码可以使用
![](/icons/66979dou.gif)
但是有版权保护
![](/icons/66979dou2.gif)
2.7 MAJAX
MAJAX是另
![](/icons/66979yi.gif)
个非常小巧
![](/icons/66979de.gif)
HttpRequest封装包
![](/icons/66979dou.gif)
为收发
![](/icons/66979zifu.gif)
型信息提供简单接口
![](/icons/66979dou.gif)
并为每步动作设置回调界面
![](/icons/66979dou2.gif)
2.8 RSLite (x)
RSLite是
![](/icons/66979yi.gif)
个XMLHttpRequest封装组件
![](/icons/66979dou.gif)
作为Brent Ashley
![](/icons/66979de.gif)
JSRS(JavaScript Remote Scripting)其中
![](/icons/66979de.gif)
![](/icons/66979yi.gif)
部分功能单独发布
![](/icons/66979dou2.gif)
详情可以看JSRS
![](/icons/66979de.gif)
介绍
2.9 Sack(开发中
![](/icons/66979dou.gif)
成立于2005年5月)
Sack也是
![](/icons/66979yi.gif)
个很有名字
![](/icons/66979de.gif)
微型XMLHttpRequest封装包
![](/icons/66979dou2.gif)
![](/icons/66979diaoyong.gif)
者可以自定义回调
![](/icons/66979hanshu.gif)
或者是DOM对象
![](/icons/66979dou2.gif)
借助于回调DOM对象
![](/icons/66979dou.gif)
可以把Response回来
![](/icons/66979de.gif)
数据直接以文本
![](/icons/66979de.gif)
方式嵌入DOM中
![](/icons/66979dou2.gif)
2.10 Sarissa (发布于2003年2月)
Sarissa是
![](/icons/66979yi.gif)
个JavaScript API
![](/icons/66979dou.gif)
封装了在浏览器端独立
![](/icons/66979diaoyong.gif)
XML
![](/icons/66979de.gif)
功能
![](/icons/66979dou2.gif)
可移植
![](/icons/66979de.gif)
XMLHttpRequest对象创造
可移植
![](/icons/66979de.gif)
XPath查询
可移植
![](/icons/66979de.gif)
DOM操控
可移植
![](/icons/66979de.gif)
XSLT
可移植
![](/icons/66979de.gif)
XML序列化
开源协议(GPL2.0和LGPL2.1)
2.11 XHConn (2005年4月发布)
XHConn也是
![](/icons/66979yi.gif)
个小型
![](/icons/66979de.gif)
XMLHttpRequest封装库
![](/icons/66979dou2.gif)
笔者也使用改良过
![](/icons/66979de.gif)
XHConn
![](/icons/66979dou.gif)
其特点就是
![](/icons/66979diaoyong.gif)
简单
![](/icons/66979dou.gif)
代码也清晰易读
![](/icons/66979dou2.gif)
例子:
![](/icons/66979new.gif)
XHConn
![](/icons/66979kh.gif)
.connect("mypage.php"
![](/icons/66979dou.gif)
"POST"
![](/icons/66979dou.gif)
"foo=bar&baz=qux"
![](/icons/66979dou.gif)
fnWhenDone);
开源协议许可
3 Server-Side: Multi-Language
3.1 Cross-Platform Asynchronous INterface Toolkit (2005年5月)
CPAINT是
![](/icons/66979yi.gif)
个真正
![](/icons/66979de.gif)
同时支持PHP和ASP/VBScript脚本
![](/icons/66979de.gif)
javascript:void(0);">AJAX和JSRS工具包
![](/icons/66979dou2.gif)
CPAINT在后台提供你需求
![](/icons/66979de.gif)
javascript:void(0);">AJAX和JSRS代码
![](/icons/66979dou.gif)
并自动返回到浏览器端相应
![](/icons/66979de.gif)
Javascript脚本代码
![](/icons/66979dou.gif)
这种方式易于实时反馈需求
![](/icons/66979de.gif)
WEB应用
![](/icons/66979chengxu.gif)
![](/icons/66979dou2.gif)
支持PHP和ASP
所有功能
![](/icons/66979hanshu.gif)
都在统
![](/icons/66979yi.gif)
![](/icons/66979de.gif)
JavaScript文件中
支持远程脚本和XML
支持本地和远程
![](/icons/66979hanshu.gif)
![](/icons/66979diaoyong.gif)
可以创建单个或多个XMLHttp对象
返回给后台
![](/icons/66979de.gif)
数据即可以是文本也可以是XML/DOM文档对象
支持POST和GET
用服务端代理
![](/icons/66979de.gif)
方式实现远程
![](/icons/66979hanshu.gif)
和数据
![](/icons/66979de.gif)
访问操作
大部分浏览器中测试正常使用
在GNU、GPL、LGPL开源协议保护下发行
3.2 SAJAX (2005年3月)
SAJAX
![](/icons/66979de.gif)
实现方式很独特
![](/icons/66979dou.gif)
例如:
![](/icons/66979diaoyong.gif)
![](/icons/66979yi.gif)
个javascript思路方法x_calculateBudget
![](/icons/66979kh.gif)
![](/icons/66979dou.gif)
将先把响应传到服务器并
![](/icons/66979diaoyong.gif)
![](/icons/66979yi.gif)
个Java calculateBudget
![](/icons/66979kh.gif)
思路方法
![](/icons/66979dou.gif)
然后以javascript方式把值返回到x_calculateBudget_cb
![](/icons/66979kh.gif)
中
![](/icons/66979dou2.gif)
SAJAX
![](/icons/66979de.gif)
名气不错
![](/icons/66979dou.gif)
估计很多人都听过甚至用过
![](/icons/66979dou.gif)
不过缺点就是它
![](/icons/66979de.gif)
这套映射理论感觉较繁锁
![](/icons/66979dou.gif)
远不如
![](/icons/66979yi.gif)
些轻量级
![](/icons/66979de.gif)
封装库好用
![](/icons/66979dou.gif)
不过SAJAX最大
![](/icons/66979de.gif)
特点就是支持
![](/icons/66979de.gif)
平台丰富
![](/icons/66979dou.gif)
几乎囊括了WEB下常用
![](/icons/66979de.gif)
编程语言和平台
很方便从JavaScript
![](/icons/66979hanshu.gif)
映射到服务端代理操作
支持多种平台(ASP/ColdFusion/Io/Lua/Perl/PHP/Python/Ruby)
开源协议
3.3 Javascipt Object Notation (JSON) and JSON-RPC
JSON是
![](/icons/66979yi.gif)
个"face-free"XML
![](/icons/66979dou.gif)
而JSON-RPC是
![](/icons/66979yi.gif)
种远程交互协议
![](/icons/66979dou.gif)
类似于XML-RPC
![](/icons/66979dou.gif)
对JavaScript支持较强
支持多服务端平台: Java, Python, Ruby, Perl.
针对区别
![](/icons/66979de.gif)
平台有区别
![](/icons/66979de.gif)
包和许可协议, 如JSON-RPC-Java.
3.4 JavaScript Remote Scripting(JSRS)(2000年)
JSRS
![](/icons/66979dou.gif)
较经典
![](/icons/66979de.gif)
远程脚本访问组件
![](/icons/66979dou.gif)
支持将客户端数据通过服务器做代理进行远程
![](/icons/66979de.gif)
数据/操作交互
![](/icons/66979dou2.gif)
支持
![](/icons/66979de.gif)
浏览器:IE4+
![](/icons/66979dou.gif)
NS4.x
![](/icons/66979dou.gif)
NS6.x
![](/icons/66979dou.gif)
Mozilla
![](/icons/66979dou.gif)
Opera7和Galeon
![](/icons/66979dou2.gif)
服务器端脚本语言支持:ASP
![](/icons/66979dou.gif)
ColdFusion
![](/icons/66979dou.gif)
PerlCGI
![](/icons/66979dou.gif)
PHP,Python和JSP(servlet)
![](/icons/66979dou2.gif)
开源协议
![](/icons/66979dou2.gif)
由Brent Ashley提供支持
![](/icons/66979dou2.gif)
3.5 Bitkraft forASP.NET
Bitkraft是个基于(.NET)Web框架
![](/icons/66979de.gif)
CLR(公共语言运行库)
![](/icons/66979dou.gif)
允许用独特
![](/icons/66979de.gif)
方式创建和操作分布式Web内容
![](/icons/66979dou2.gif)
用C#编写
![](/icons/66979dou.gif)
运行在微软
![](/icons/66979de.gif)
.NET 1.1和Mono框架下
![](/icons/66979dou.gif)
无缝式
![](/icons/66979de.gif)
客户端-服务器响应方式是它
![](/icons/66979de.gif)
最大特点
![](/icons/66979dou2.gif)
Bitkraft没有使用XML组织数据
![](/icons/66979dou.gif)
而是用JSON代替
![](/icons/66979dou2.gif)
支持
![](/icons/66979de.gif)
浏览器: IE5+, Firefox1+, NS6
服务器端要求:ASP.NET, Mono XSP, Cassini, Apache (modMono) .NET Framework 1.1+
事件驱动
支持同步和异步
![](/icons/66979de.gif)
远程代理
客户端支持所有
![](/icons/66979de.gif)
.NET类型或自定义类对象映射到JSON中
用JSON取代XML
免费
![](/icons/66979dou.gif)
开源许可协议
4 Server-Side: Java
4.1 WebORB for Java (2005年8月)
WebORB for Java是
![](/icons/66979yi.gif)
个开发javascript:void(0);">AJAX和基于Flash
![](/icons/66979de.gif)
富客户端应用
![](/icons/66979chengxu.gif)
![](/icons/66979de.gif)
开发平台
![](/icons/66979dou2.gif)
在线例子
WebORB包括
![](/icons/66979yi.gif)
个富客户端开发类库
![](/icons/66979dou2.gif)
提供简单
![](/icons/66979de.gif)
在线式API用来绑定或者
![](/icons/66979diaoyong.gif)
任何Java对象、XML Web Services和EJB
支持异步或同步
![](/icons/66979de.gif)
事件驱动
不需要在服务端修改任何代码
![](/icons/66979dou.gif)
不需要自定义思路方法或属性、变量等
![](/icons/66979dou2.gif)
不要求设计时指定代理等
![](/icons/66979dou2.gif)
同步
![](/icons/66979diaoyong.gif)
不需要回调
![](/icons/66979dou.gif)
异步
![](/icons/66979diaoyong.gif)
需要
![](/icons/66979yi.gif)
个回调思路方法
![](/icons/66979dou2.gif)
客户端可以向服务端请求指定
![](/icons/66979de.gif)
活动方式
![](/icons/66979dou.gif)
不需要任何编程就可以把处理结果轻易
![](/icons/66979de.gif)
转变为状态
![](/icons/66979dou2.gif)
提供
![](/icons/66979yi.gif)
个特定API来处理数据库查询结果-服务器代码能返回DataSet或者DataTable
![](/icons/66979dou.gif)
而客户端以
![](/icons/66979yi.gif)
个类似于RecordSet
![](/icons/66979de.gif)
JavaScript对象来显示这个结果
![](/icons/66979dou2.gif)
该对象提供检索列名和行数据
![](/icons/66979de.gif)
思路方法
![](/icons/66979dou2.gif)
支持数据分页技术
![](/icons/66979dou2.gif)
客户应用
![](/icons/66979chengxu.gif)
能检索页面中
![](/icons/66979de.gif)
数据
![](/icons/66979dou2.gif)
支持以参数
![](/icons/66979de.gif)
方式返回所有服务期端数据类型
![](/icons/66979dou.gif)
如primitives,
![](/icons/66979string.gif)
s, complex types,
![](/icons/66979<img src=)
.gif' />s, native .net collections, remote references
目前有两个版本:标准版(免费)
![](/icons/66979dou.gif)
专业版(商业许可)
4.2 Echo 2 (2005年3月)
Echo 2允许你用纯Java语言编写javascript:void(0);">AJAX
![](/icons/66979chengxu.gif)
![](/icons/66979dou2.gif)
Demo.
自动生成HTML和Javascript代码
用XML在客户端-服务端传递消息
如果愿意支持自定义Javascript组件
开源协议(Mozilla Public License or GNU LGPL)
4.3 Direct Web Remoting (DWR) (2005)
Direct Web Remoting可以在Javascript代码中直接
![](/icons/66979diaoyong.gif)
Java思路方法
![](/icons/66979de.gif)
应用框架
类似于SAJAX
![](/icons/66979dou.gif)
可以把Javascript中
![](/icons/66979de.gif)
请求
![](/icons/66979diaoyong.gif)
转递到Java思路方法中并将执行结果返回给Javascript
可以和任何Web框架
![](/icons/66979yi.gif)
起使用
![](/icons/66979dou.gif)
如Struts、Tapestry等等
开源(Apache)
![](/icons/66979dou.gif)
目前该产品被加入到WebWork中
4.4 SWATO (2005)
SWATO是
![](/icons/66979yi.gif)
套可重用
![](/icons/66979de.gif)
和良好集成
![](/icons/66979de.gif)
Java/JavaScript库
![](/icons/66979dou.gif)
它实现了
![](/icons/66979yi.gif)
种更容易
![](/icons/66979de.gif)
方式来改变你
![](/icons/66979de.gif)
web应用
![](/icons/66979chengxu.gif)
![](/icons/66979de.gif)
交互
![](/icons/66979dou.gif)
通过javascript:void(0);">AJAX方式实现
![](/icons/66979dou2.gif)
服务端Java库可以非常容易
![](/icons/66979de.gif)
部署到所有Servlet2.3+兼容
![](/icons/66979de.gif)
容器中
客户端Javascript库可以在所有支持XMLHttpRequest
![](/icons/66979de.gif)
浏览器中使用
使用JSON技术在服务端组织POJO数据
![](/icons/66979dou.gif)
这样你可以在任何Javascript环境中(HTML、XUL、SVG)访问这些远程数据
![](/icons/66979dou.gif)
这种方式很容易通过硬编码或者某种成熟
![](/icons/66979de.gif)
Javascript库集成到当前应用中
提供
![](/icons/66979yi.gif)
个简单接口使你能在Javascript中
![](/icons/66979diaoyong.gif)
远程
![](/icons/66979de.gif)
POJO数据
使用<servlet>和<filter>灵活
![](/icons/66979de.gif)
在web.xml中进行配置
![](/icons/66979dou.gif)
并且可以集成(不是必须)到你
![](/icons/66979de.gif)
Spring框架中
提供了几个可帮助你快速开发web应用
![](/icons/66979chengxu.gif)
![](/icons/66979de.gif)
组件(如自动完成
![](/icons/66979de.gif)
文本框
![](/icons/66979dou.gif)
在线表单
![](/icons/66979dou.gif)
在线列表等等)
4.5AJAX JSPTagLibrary
TheAJAX JSPLibrary是
![](/icons/66979yi.gif)
组JSP标签库
![](/icons/66979dou.gif)
用来javascript:void(0);">AJAX
![](/icons/66979chengxu.gif)
开发
![](/icons/66979dou2.gif)
可以在J2EE下无需Javascript就能轻松开发javascript:void(0);">AJAX模式
![](/icons/66979de.gif)
Web Form
![](/icons/66979dou2.gif)
标签库为比较通用
![](/icons/66979de.gif)
javascript:void(0);">AJAX功能提供了5个标签:TagLibrary
autocomplete: 用户在文本框中输入
![](/icons/66979zifu.gif)
![](/icons/66979dou.gif)
自动从指定
![](/icons/66979de.gif)
数据中匹配用户输入
![](/icons/66979de.gif)
![](/icons/66979zifu.gif)
![](/icons/66979dou.gif)
类似于Google Suggest
callout:可以为A标签加入气泡式
![](/icons/66979de.gif)
消息提示框
![](/icons/66979dou.gif)
不过是实时
![](/icons/66979de.gif)
服务端取出数据
Select/dropdown:类似于联动菜单
![](/icons/66979dou.gif)
比如地州市
![](/icons/66979de.gif)
联动下拉框
toggle:开关闸按钮
![](/icons/66979dou.gif)
比如在
![](/icons/66979yi.gif)
个hidden表单域中存储true和falsh
![](/icons/66979dou.gif)
同时显示相应
![](/icons/66979de.gif)
img图像
update field:更新数据
![](/icons/66979dou.gif)
也就是无刷新提交了
![](/icons/66979dou2.gif)
4.6AJAX Java Server Faces Framework
TheAJAX-JSF用来把任意
![](/icons/66979de.gif)
JSF应用
![](/icons/66979chengxu.gif)
转变为javascript:void(0);">AJAX应用
![](/icons/66979chengxu.gif)
例子:javascript:void(0);">AJAX组件
![](/icons/66979de.gif)
MyFaces JSF Tree(树型目录), table scroller(可滚动
![](/icons/66979de.gif)
表格), tabbed pane(分页栏)
开源协议(Apache Software License)
5 Server-Side: Lisp
5.1 CL-Ajax
CL-Ajax实现Javascript直接
![](/icons/66979diaoyong.gif)
服务端Lisp
生成可带参数
![](/icons/66979de.gif)
![](/icons/66979hanshu.gif)
可以回调Javascript
![](/icons/66979hanshu.gif)
或者DOM对象
可以集成到SAJAX中
开源许可
6 Server-Side: .NET
6.1 WebORB for .NET (2005年8月)
WebORB for .NET是
![](/icons/66979yi.gif)
个用.NET和XML Web Services方式开发javascript:void(0);">AJAX和基于Flash
![](/icons/66979de.gif)
富客户端应用
![](/icons/66979chengxu.gif)
(在线例子)
WebORB包括
![](/icons/66979yi.gif)
个富客户端开发类库
![](/icons/66979dou2.gif)
提供简单
![](/icons/66979de.gif)
在线式API用来绑定或者
![](/icons/66979diaoyong.gif)
任何.NET对象、XML Web Services
支持异步或同步
![](/icons/66979de.gif)
事件驱动
不需要在服务端修改任何代码
![](/icons/66979dou.gif)
不需要自定义思路方法或属性、变量等
![](/icons/66979dou2.gif)
不要求设计时指定代理等
![](/icons/66979dou2.gif)
同步
![](/icons/66979diaoyong.gif)
不需要回调
![](/icons/66979dou.gif)
异步
![](/icons/66979diaoyong.gif)
需要
![](/icons/66979yi.gif)
个回调思路方法
![](/icons/66979dou2.gif)
客户端可以向服务端请求指定
![](/icons/66979de.gif)
活动方式
![](/icons/66979dou.gif)
不需要任何编程就可以把处理结果轻易
![](/icons/66979de.gif)
转变为状态
![](/icons/66979dou2.gif)
提供
![](/icons/66979yi.gif)
个特定API来处理数据库查询结果-服务器代码能返回DataSet或者DataTable
![](/icons/66979dou.gif)
而客户端以
![](/icons/66979yi.gif)
个类似于RecordSet
![](/icons/66979de.gif)
JavaScript对象来显示这个结果
![](/icons/66979dou2.gif)
该对象提供检索列名和行数据
![](/icons/66979de.gif)
思路方法
![](/icons/66979dou2.gif)
支持数据分页技术
![](/icons/66979dou2.gif)
客户应用
![](/icons/66979chengxu.gif)
能检索页面中
![](/icons/66979de.gif)
数据
![](/icons/66979dou2.gif)
支持以参数
![](/icons/66979de.gif)
方式返回所有服务期端数据类型
![](/icons/66979dou.gif)
如primitives,
![](/icons/66979string.gif)
s, complex types,
![](/icons/66979<img src=)
.gif' />s, native .net collections, remote references
目前有两个版本:标准版(免费)
![](/icons/66979dou.gif)
专业版(商业许可)
6.2Ajax.NET (2005年3月)
.NET是首家支持各种方式通过Javascript访问服务端.net
![](/icons/66979de.gif)
免费库Ajax.NET
类似于SAJAX
![](/icons/66979dou.gif)
能把Javascript请求发送到.NET思路方法
![](/icons/66979dou.gif)
服务端回传给Javascript
![](/icons/66979dou.gif)
甚至包括串行化自定义类
![](/icons/66979dou2.gif)
可以在Javascript中访问Session和Application数据
缓存Cache查询结果
免费使用源代码
无需更改源代码
![](/icons/66979dou.gif)
允许给Ajax.NET添加和修改思路方法和属性
所有类支持Javascript客户端返回数据
![](/icons/66979dou.gif)
可以在JavaScript中使用DataSet:res.Tables[0].Rows
使用HtmlControls组件访问和返回数据
页面无需重载
![](/icons/66979dou.gif)
用事件代理(数据访问层)
![](/icons/66979yinwei.gif)
只提供
![](/icons/66979yi.gif)
个
![](/icons/66979diaoyong.gif)
接口思路方法
![](/icons/66979dou.gif)
所以服务端CPU占用非常少
6.3 ComfortASP.NET (2005年8月)
ComfortASP.NET可以让开发者在纯.NET下开发类似javascript:void(0);">AJAX(DHTML,JavaScript,XMLHttp)特性
![](/icons/66979de.gif)
应用
![](/icons/66979chengxu.gif)
![](/icons/66979dou2.gif)
快速应答
减少HTML传输
减少页面重载
无闪烁
![](/icons/66979de.gif)
浏览器内容更改
javascript:void(0);">AJAX用户体验
![](/icons/66979dou.gif)
6.4 AjaxAspects (2005年8月)
AjaxAspects是个可以用Javascript
![](/icons/66979diaoyong.gif)
服务端WebService事件
![](/icons/66979de.gif)
引擎
用标准
![](/icons/66979de.gif)
SOAP和WSDL进行服务端-客户端通信
用简单
![](/icons/66979de.gif)
类型和XML对象支持带参数
![](/icons/66979de.gif)
返回值
缓存Cache支持
动作队列
免费使用
![](/icons/66979dou.gif)
开源协议
7 Server-Side: PHP
7.1 AjaxAC (2005年4月)
AjaxAC用
![](/icons/66979yi.gif)
个单独类封装了完整
![](/icons/66979de.gif)
应用
![](/icons/66979chengxu.gif)
功能
所有
![](/icons/66979de.gif)
功能集成在自包含
![](/icons/66979de.gif)
类中(另外附带
![](/icons/66979yi.gif)
些Javascript库)
![](/icons/66979diaoyong.gif)
PHP文件或者HTML页面非常简易
![](/icons/66979dou.gif)
只需创建App类后把类引用传递给需要
![](/icons/66979diaoyong.gif)
![](/icons/66979de.gif)
Javascript对象或者HTML元素即可
![](/icons/66979dou2.gif)
捕获Javascript事件
可以自定义配置数据
![](/icons/66979dou.gif)
并且支持运行时参数更改
无需再Javascript代码中夹杂凌乱
![](/icons/66979de.gif)
Html代码
![](/icons/66979dou.gif)
所有事件都是被动态附加上
![](/icons/66979de.gif)
由于以上两个优点
![](/icons/66979dou.gif)
所以支持良好
![](/icons/66979de.gif)
模版引擎
容易Hook到PHP类和MySql数据已返回给自己
![](/icons/66979de.gif)
request
能够容易
![](/icons/66979de.gif)
用Javascript建立窗口模式应用
![](/icons/66979chengxu.gif)
![](/icons/66979dou2.gif)
7.2 JPSpan
JPSPAN通过Javascript直接
![](/icons/66979diaoyong.gif)
PHP中
![](/icons/66979de.gif)
![](/icons/66979hanshu.gif)
![](/icons/66979dou2.gif)
进行了严谨
![](/icons/66979de.gif)
单元测试
开源许可(PHP)
7.3 XAJAX
XAjax通过Javascript直接
![](/icons/66979diaoyong.gif)
PHP中
![](/icons/66979de.gif)
![](/icons/66979hanshu.gif)
支持用Javascript
![](/icons/66979diaoyong.gif)
PHP脚本
开源许可协议
8 Server-Side: Ruby
8.1 Ruby On Rails
Ruby On Rails是
![](/icons/66979yi.gif)
个支持javascript:void(0);">AJAX
![](/icons/66979de.gif)
完整Web框架
![](/icons/66979dou.gif)
使用Ruby语言编写
![](/icons/66979dou.gif)
严格按照MVC结构开发
![](/icons/66979dou2.gif)
当Ajax出现
![](/icons/66979de.gif)
时候Rails还处于其发展
![](/icons/66979de.gif)
早期
![](/icons/66979dou.gif)
因此Ajax可能逐渐成为Rails框架
![](/icons/66979de.gif)
核心
![](/icons/66979dou2.gif)
生成浏览器中大多数/全部
![](/icons/66979de.gif)
Window应用组件和动画
![](/icons/66979de.gif)
Javascript脚本
![](/icons/66979dou2.gif)
支持服务器端
![](/icons/66979diaoyong.gif)
![](/icons/66979dou2.gif)
队列支持
开源许可
From MoztwWiki
本文章为 Mozilla Developer Center
![](/icons/66979de.gif)
javascript:void(0);">AJAX:Getting Started (