代码改变世界

Ajax开发框架(上)[整理]

2009-03-29 22:30  老博客哈  阅读(1582)  评论(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中应用。