Ajax开发框架(上)[整理]
2009-03-29 22:30 老博客哈 阅读(1635) 评论(2) 编辑 收藏 举报以下Ajax开发框架大多来自于《Ajax Web2.0快速入门与项目实践(.net)》一书。
1. Bindows
Bindows是一个通过DHTML、JavaScript、CSS和HTML等技术强劲联合起来的完整的Windows桌面式Web应用程序解决方案。它无需下载安装客户端支持组件(如Java、ActiveX或Flash),仅仅需要一个浏览器。纯OO的理念体现在Bindows任何地方,或许Bindows是笔者见过的最完整、最强大的Ajax应用程序平台。一个强大的Demo见此。
Bindows是商业程序,使用了来自MB的技术(总部位于GA USA,主要开发中心在瑞典,成立于2002年)。
Bindows框架提供的功能和特性如下:
- 基于面向对象技术的类和API;
- 一套完整的Windows桌面系统,支持各种特性窗口模式,包括菜单、表单、表格、滑动条、测量仪器窗口和其它一些Windows窗口特性支持;
- 是开发zero-footprint(零空间占用)SOA客户端应用程序首选工具包;
- 本机的XML,SOAP和XML-RPC支持;
- 单用户到企业级开发的支持;
- 内建的完美的Ajax支持;
- Bindows开发环境;
- 支持企业规模的项目开发;
- 跨浏览器、跨OS平台的支持;
- 不受服务器结构限制;
- 良好的与新的、现有的资源互操作性;
- 统一的开发接口。
2. BackBase
Backbase软件包含了带有附加库的JavaScript引擎,可以支持J2EE和.NET,它能够运行在任何环境,你可以用服务器端语言(ASP、JSP、PHP等)动态生成页面内容。由于JavaScript可以运行在多种浏览器上,所以客户端无需安装任何插件。Backbase的基本引擎驱动了客户端用户界面的扩展,Web程序能实现SPI(Single Page Interface)模式或者MPI(MultiPage Interface)模式。
Backbase软件包含3个版本:The communcity edition(只包含客户端)、J2EE BPS和.Net BPS。在后面的两个版本中,Backbase Presentation Server简化了服务端、业务逻辑和应用程序数据在胖客户端、轻量和交互式的Web应用程序中的整合。动态数据通过XML进行交互。
Backbase完全兼容了Web标准,包括结构化语言、表示语言、对象模型和脚本语言。它基于工业标准,Java、XML、XHTML、CSS和DOM等都可以很好的运行在主流浏览器上。Backbase使用BXML,BXML是一种基于XML的平台中立的UI定义语言,用于描述在Web浏览器中运行的动态用户界面。
BXML有以下重要特性:
- DHTML和Ajax:它提供了一种强大的DHTML和Ajax的概念,不需要了解底层的跨浏览器的JavaScript编程;
- 扩展机制(Extensible Mechanism):所有的XHTML元素可以用BXML属性扩展,也可以创建自定义标签;
- 基于模型的范例(Model-based paradigm):BXML的基于模型的范例允许开发人员构建数据驱动的胖客户端,轻松的增加已存在的HTML站点和Web应用程序,定义UI行为无须使用脚本语言;
- 无障碍UI控件:一系列标记实现了控件,比如树结构和菜单。
3. DOJO
DOJO具有以下特点:
- 提供完整的轻量级窗口组件和浏览器-服务器消息映射支持;
- 提供创建自定义JavaScript窗口组件的框架支持;
- 预置的丰富的窗口类型库;
- B/S消息映射支持--XMLHttpRequest和其它机制;
- 支持浏览器中的URL操纵功能;
- 开源许可(Academic Free License 2.1),由JotSpot的Alex Russell所领导。
- 附:AjaxPatterns上有一个详细的关于Ajax
4. Open Rico
OpenRico是一个支持Ajax架构和用户交互的多用户框架,该框架具有以下特性:
- 一个XMLHttpRequest response能被一个或多个DOM对象或者JavaScript对象调用;
- 支持拖拽操作;
- 支持基于Ajax的动画模式,如缩放和变换等;
- 基于Behaviors的操作库;
- 使用指南,由RussMirimar的Yonah提供;
- 开源,源于Sabre航空公司解决方案,由Bill Scott,Darren James及另外一些人维护。
5. qooxdoo
qooxdoo是另一个迅猛发展的应用框架,提供广泛的UI支持。
基础结构特性包括:
- 能轻易的捕获和操纵DOM事件;
- 支持调试;
- 支持一个时间操作的Timer类;
- Getter/Setter支持。
UI特性包括:
- 窗口组件库和框架;
- 界面布局管理;
- 图像缓存和透明PNG图片处理;
- 开源(LGPL)。
6. Tibet
Tibet提供了大量的易移植且完整的JavaScript API,通过这些可以快速生成大量的客户端源代码,Tibet自称是企业级Ajax,其特点如下:
- 远程脚本调用封装在XMLHttpRequest中;
- URI支持;
- 支持所有的HTTP事件,不再仅仅是GET和POST;
- 低级的协议-File://和WebDav也可以当作HTTP正常使用;
- Web Services调用支持,包括SOAP、XML-RPC等;
- 大型的JavaScript对象库;
- 多种多样的XML操作支持;
- IDE和开发工具
- 开源协议(OSI)。
7. AJFORM
AJFORM是一个极易掌握的Ajax框架,被用来编写入门级的Ajax代码,提供以下功能:
- 三步安装;
- 自动支持任意HTML表单元素;
- 几乎无需编码即可实现Ajax。
8. AjaxCaller
AjaxCaller是一个具有多线程安全访问的XMLHttpRequest组件,主要针对Ajax开发新手,目前仍处于alpha开发阶段,仅在AjaxPatterns的在线搜索范例中使用过该程序,其特点如下:
- 用明文或者XML结构的数据实现和服务器的交互(GET/POST/PUT/DELETE);
- 支持XMLHttpRequest对象的析构(销毁对象,C++支持内存对象的析构操作);
- 支持Response的高速缓存(尚在计划中);
- 简单的库文件代码易于新手学习使用,并且支持脚本调试;
- 开源协议。
9. Flash JavaScript Integration Kit
The Flash JavaScript Integration Kit可以实现Flash和JavaScript脚本的集成,可以在JavaScript中调用Flash ActionScript脚本,反之亦然。它支持双方主要数据类型在不同环境下的传递调用。
10. Google AJAXSLT
Google AJAXSLT 是一个开源协议(BSD)JavaScript框架,用来执行XSLT转换以及XPath查询。目前已经在Google Map中应用。