日期:2010-08-03  浏览次数:20383 次

1 浏览器端框架被划分成两大类

•应用程序框架:提供浏览器的功能,但是常以包括窗口小部件抽象和另外的部件而出名,其功能主要围绕桌面GUI框架。

•基本结构框架:提供基本的管道和可移植的浏览器抽象,让开发者去创建内容。典型的功能:

* 针对XMLHttpRequest的包装器以封装浏览器-服务器的交互。(所有的框架都提供这一功能)。

* XML操作和查询。

* 根据来自XMLHttpRequest的应答执行DOM操作。

* 在一些情况中,与另外的浏览器端技术如Flash(和潜在的Java applets)集成在一起。

而服务器端框架通常以下面两种方式工作(尽管它们在这里根据语言的不同进行了分类):

•HTML/JS生成:服务器提供完整的HTML/Javascript代码生成和浏览器-服务器协调,结果是只有浏览器端编码可以被定制。

•远程调用:Javascript调用直接被路由到服务器端功能(例如Java方法)并返回到Javascript回叫处理器;或者Javascript调用服务器以提取信息,例如会话细节,数据库查询等。

•纯Javascript:应用程序框架

1.1 Bindows(自从2003年)

网址是:http://www.bindows.net,Bindows是一个软件开发包(SDK),它,通过强力联合DHTML,JavaScript,CSS和XML等技术,能生成高度交互的互联网应用程序-成为现代的桌面应用程序的强有力对手。Bindows应用程序不要求下载和也不需要在用户端安装-仅要求有一个浏览器(也不需要Java,Flash或者ActiveX)。Bindows有可能领导面向对象开发的AJAX应用程序的平台。

•它是商业化的,使用来自于MB的技术(总部位于GA USA,主要开发中心在瑞典,成立于2002年)。

Bindows框架提供给你:

•基于类的面向对象的API

•一套完整的窗口系统,提供宽范围的窗口小部件支持,包括菜单、表单、格子、滑动条、量程,甚至更多

•用于开发zero-footprint SOA客户端应用程序的领先的工具箱

•本机的XML,SOAP和XML-RPC支持

•单用户到企业级的支持

•内建的对AJAX的支持

Bindows开发环境:

•支持企业级规模的工程开发

•跨浏览器,跨平台支持

•服务器独立结构

•与新的和现有资源的互操作性

•一致性开发方法学

1.2 BackBase(自从2003年)

网址是:http://www.backbase.com,是一个全面的浏览器端框架,支持丰富的浏览器功能以及与.NET和Java的集成。

•商业化,来自于Backbase B.V(总部在Amsterdam,成立于2003年)。

1.3 DOJO(开发中;自从2004年9月)

网址是:http://dojotoolkit.org/,提供全面窗口小组件和浏览器-服务器消息支持。

•为创建定制的Javascript窗口小组件提供框架支持。

•预置的窗口小组件库。

•浏览器-服务器消息支持-XMLHttpRequest和另外的机制。

•支持浏览器中的URL操纵功能。

•开源许可(学术自由许可2.1(http://opensource.org/licenses/afl-2.1.php)),由JotSpot(http://www.jot.com/)的Alex Russell(http://alex.dojotoolkit.org/)所领导。

1.4 Open Rico(开发中;自从2005年5月;基于早期的私有框架)

网址是: http://openrico.org/demos.page,是一多用途框架,支持Ajax基础结构和用户交互。

•一个XMLHttpRequest应答能被路由到一个或者更多回叫操作,DOM对象,或者Javascript对象。

•容易鼠标拖动支持。

•Ajax动画,例如缩放和变换。

•"行为"-实质上是窗口小组件库。

•使用指南(http://www.mirimar.net/mailbrowser/),由RussMirimar的Yonah所提供

•开源。源于Sabre航空公司解决方案,由Bill Scott(http://looksgoodworkswell.blogspot.com),Darren James及另外一些人所支持。

1.5 qooxdoo(开发中;自从2005年5月)

网址是:http://qooxdoo.sourceforge.net/,是另一个雄心勃勃的框架,提供宽范围的UI支持和正在开发中的基础结构特性。

•基础结构:

* DOM和事件/焦点管理的可移植的抽象。

* 调试支持。

* 易于时间调度的Timer类。

* Getter/Setter支持。

•UI:

* 窗口小组件框架和预置的