该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-01-15
RIA技术代表--AJAX标准与规范的研究 引言 在过去的两到三年中,Web开发人员一直是想构建一种比传统HTML更丰富的客户端:这是一个用户接口,它比用 HTML能实现的接口更加健壮、反应更加灵敏和更具有令人感兴趣的可视化特性,这就是RIA(Rich Internet Application)技术,即富互联网应用程序。RIA技术的出现允许我们在因特网上以一种像使用Web一样简单的方式来部署富客户端程序,作为一种趋势性和可能长期支撑市场的技术,国外的众多公司及组织毫无例外地加入了争夺RIA话语权的行列,包括Adobe主推的 Flash/Flex,微软的Silverlight、Smart Client、ActiveX,Sun的Java Applet还有Mozilla的XUL等等,当然,目前正炙手可热的AJAX技术,由于具有W3C的基础标准及现实浏览器的完全支持,更是RIA最具有代表性和现实性基础的技术解决方案,。 然而,2005年AJAX诞生以来,AJAX技术应用上标准和规范的欠缺却直接导致了技术发展上的混乱,不同技术体系和开发语言不利于应用的整合和统一,标准基础支撑和集成开发工具的欠缺,很大程度限制和影响了应用开发及AJAX技术的发展…… AJAX呼唤标准与规范 自从AJAX概念确立,AJAX产品纷纷涌现,但大多数都只是基础框架和Toolkit,并只能够支持某一种开发语言,PHP有SAJAX、AJASON,Java有DWR,.NET的AJAX PRO,客户端的类库有Dojo、ADL、Bindows……,面对这一系列分属服务端、客户端、不同语言的框架和类库,让开发者无所适从,更不知道如何集成融合使用,AJAX标准和规范的欠缺直接导致了技术发展上的混乱,不同技术体系和开发语言不利于应用的整合和统一,标准基础支撑和集成开发工具的欠缺,很大程度限制和影响了应用开发及AJAX技术的发展,甚至由于AJAX技术的不成功应用引发屡屡挫败的风险。 计算机行业是一个新兴的领域,回顾技术发展的历程,无一不是在形成良好标准的前提下取得迅速及长远发展,由于缺乏规范造成的停滞不前以及终端市场的巨大损失屡见不鲜,AJAX技术做为一种新的应用开发模式和多种技术手段的融合,一开始就缺乏标准化组织和良好的基础,直接导致在它的概念出现两年后,虽然百家争鸣,却始终无法取得快速的大规范应用和广泛的成功,却往往给使用者带来了巨大的困扰和障碍,现在的局面可以这样说,如果AJAX再不建立全面的规范和标准,并在此基础上逐渐形成架构、框架及进一步发展快速开发工具,那么AJAX很可能会逐渐变成一种噱头并成为过渡性的技术,一旦新的互联网技术标准得到大幅的改善和重要厂商的支持,那么AJAX技术将面临被迅速淘汰的处境,现有基于AJAX的系统生命周期大幅缩短,人们的投入将受到严重损失。 与传统Web在交互操作标准上的差异 AJAX的重要结果就是直接改变了传统Web的用户体验和交互模式,在这里我们要提 出Web操作系统环境这个概念,Web操作系统环境是指由于AJAX新的用户体验直接造成与传统Web界面使用模式的不同,需要建立新的交互操作模式标准,类似Windows操作模式,比如桌面模式、功能程序的启动、开始菜单、托盘、任务管理、右键、快捷键、多选、拖拉操作等等。这些新的操作模式是以往的传统网站所没有的,因此我们首先应当建立一套能够让大多数用户保持习惯并简单易用的规范交互环境。 另一方面,Web操作系统环境应当以开放式的结构提供完整的应用开发接口(API), 这 些API涉及系统内核、注册表、进程管理、系统元件管理、用户管理、用户配置环境比如主题、语言区域、托盘管理、内存管理、软件安装集成、基础界面元件等等。 作为Web操作系统环境的底层,消息通道机制是AJAX应用程序间进行协同运行的 底层支撑,传统的Web是单页面多网页操作模式,缺乏多窗体多应用协同和交换。消息通道主要的核心是消息编号的规范、消息体的定义、消息的同步发送、消息的异步发送、消息的定向发送、消息的侦听及消息的响应。 Web操作系统环境涉及的内容比较多并且相当复杂,包括网络式文件系统、网络共享与访问、在线通信、应用集成、进程管理、内存管理等等,这一系列AJAX全面应用的基础支撑需要制订完善的规范和实现。 AJAX应用程序标准的急迫 从用户使用角度,AJAX应用是以应用程序的形态表现出来的,AJAX应用程序是指以AJAX技术实现为基础,能够提供完整应用功能的Web应用软件,它具有所属的代码、数据,能够在同一浏览器进程中同时运行多个拷贝。 AJAX应用程序部署在Web服务器上,通常由javascript文件、网页文件、资源文件、应用数据组成,主体执行文件后缀名为.js,Web操作系统环境能够动态载入AJAX应用的主体执行文件并调度管理AJAX应用程序的启动、激活、关闭等。 AJAX应用程序的主文件通常是一个javascript文件,后缀名为.js,在这个文件中定义有此应用程序的MainClass,并有相应的程序入口方法;AJAX应用程序都具有一个MainClass,MainClass有统一的入口方法Main,Main方法具有由网络式操作系统传来的数组类型参数;应用程序入口参数可以作为多个应用程序间互相调用传递参数的方法之一;AJAX应用程序应当有统一的进程接口,在我们的实践中通常继承于js.lang.Process类;应用程序的入口方法中应当调用Register方法向网络式操作系统注册,从而将应用进程实例加入到网络式操作系统的列表中;一般来说,运行具有界面的AJAX应用程序将有一个MainWindow属性,指向一个窗体对象的引用,一般来说,MainWindow将在Main方法中创建并显示。另外,AJAX应用能够被被网络式操作系统管理调用运行,除了以javascript调用的方式,网络式操作系统支持文件执行启动AJAX应用,这需要定义AJAX应用描述文件,称为快捷运行方式定义,网络式操作系统的Shell能够在.js文件打开时识别对应的快捷运行方式,并根据快捷运行方式定义的mainclass及params来启动AJAX应用。 AJAX应用的基础支撑----AJAX类库标准 从AJAX框架及类库目前的发展来看,正处于百家争鸣,各自为先的时代,AJAX类库标准主要用于AJAX Class设计开发的基础部分规范之一,旨在通过对AJAX Toolkit设计与实现的统一规划和设计、AJAX Class的功能设计、编程模式和接口的约定,达到不同应用层面、不同提供商的AJAX Class及Toolkit具有类似的使用习惯、调用接口并能够充分整合一体使用的目的,同时符合此标准的AJAX Class及Toolkit能够被任何第三方IDE所配置集成…… 首先应从架构和框架上建立整体的模型,同时注重设计合理的结构层次,可供参考的AJAX框架标准和结构层次如下: Object— |_Component |_Container | | |_DHtml |_UI Component |_DB UI Component |_Other Class
由于目前AJAX类库市场的格局非常不明朗,不同厂商的产品无法整合互用,甚至无法兼容运行,对于AJAX类库标准规范的制定应该是当前的第一任务,比如就名称空间、命名规范、类引用、资源相对定位、类继承、界面容器规范、设计模式、开发语言与浏览器、操作系统的兼容支持性、语言与区域国际化、可替换风格设计、通讯方式兼容与支持、跨域访问兼容性、2D图形API与兼容等等各方面的规范都急需出台,在当前的形势下,也许只能随着时间逐渐形成大家事实接受的统一模式,然后再整理制订和发展公共的标准规范。 AJAX的发展任重道远 根据国外的发展形势,包括IBM、微软、Adobe等大公司都已在投入AJAX的大力推动,另外,多家公司支持的Open Ajax、FAC等开源组织也开始付诸行动,从最新的信息看来,他们已开始了初步的标准探讨和起草工作,有了这么多组织和开发者的努力,相信很快AJAX技术的发展就能够进入正轨和有效的引导。 以上阐述仅仅是提出了AJAX技术相关几个方面的初步标准框架,对于AJAX及AJAX 应用这样的庞大体系是远远不够的,我们在实际的AJAX可视化开发工具及AJAX在线操作系统、AJAX在线软件的研制过程中,不断地总结完善,与实践互相印证,深刻认识到标准对于一个领域和一系列产品发展的重要性和决定性意义,相信越来越多的组织和公司将投入AJAX相关标准和规范的研究和起草,为AJAX技术的长远发展奠定基础。
作者简介: 张 健,网名“testdll”,负责AJAX IDE和在线操作系统产品。专注于AJAX、构件化、Web OS等领域,在AJAX领域有着多年构架和开发经验。ADL开源项目发起者之一,Web OS项目—TOMOS开发者之一。个人邮箱:testdll@163.com 。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 1468 次