AJAX趋势谈

来源:互联网 发布:java encode utf8 编辑:程序博客网 时间:2024/05/18 00:09
 
本期专题 AJAX架构
 
 
 
(引言)随着AJAX技术的发展,企业Web应用正面临全新的改变,与以前的应用技术一样,AJAX也有它发展的过程和必然趋势。
 
 
 
AJAX趋势谈(主标)
      ——AJAX技术应用发展的阶段和层次(副标)
 
 
 
                                               久友科技架构师
      
AJAX的发展与趋势分析
随着AJAX技术的出现,企业Web应用正面临全新的改变,最重要的是它改变了传统Web的应用体验和编程模式,有效地解决了企业Web应用所需要的各种特性,从而使得Web应用的功能和开发方式发生了根本性的变化,并逐渐成为企业应用开发的主流和首选。伴随一系列AJAX框架和开源项目的涌现,以及包括IBM、微软在内的各大厂商推波助澜,AJAX成为了近一年最热门的软件技术话题。
       AJAX技术与现有的很多技术一样,都要经过一个逐渐发展与应用的过程,实际不论什么样的编程和开发技术,它都将遵循系统和软件的设计理念与发展规律,在当前诸多概念、框架百家争鸣的时代,更需要看清技术的本质和软件设计的发展趋势,我们将AJAX的发展和未来趋势归纳为以下几个层次和阶段:
一、             初始阶段。
相信大家都记得网页上花里胡哨的JavaScript特效吧,从因特网开始流行,为了吸引更
多人的眼球,我们聪明的网页设计者尽可能的添加了各种各样的动态效果,这应该说是AJAX最初的一种形态。
       但我们要注意,JavaScript特效只是AJAX的一部分形态,那时还没有涉及到前后台的结合、数据的处理,仅仅是用JavaScript实现网页的特殊效果,它具有AJAX中JavaScript、CSS、DHTML的运用特征。
在这个初始应用层次,AJAX未形成明确的概念,仅仅运用于零散局部的页面效果增强,解决单一性问题和局部功能效果提升。
二、             萌生阶段。
其实早在1999年,就已经有人在尝试一种用JavaScript操作数据并与网页展现结合的编程模型,由于Web技术标准和协议的局限性,传统的动态页面技术无法很好地满足企业应用的要求,已初步出现了使用JavaScript+XML+HTTP+DHTML实现网页数据交互的产品,比如当时Delphi高版本中带有的InterWeb,还有我们使用网页框架元素来提交数据、上传附件等等。
但是AJAX这个概念的确立和出现是一直到2005年,其实这个时候国内外有不少开发者已经在或多或少地使用AJAX的编程模型和理念。伴随AJAX的热潮,相继涌现了很多开源或商业的AJAX基础框架、组件库、AJAX工具等项目,比如Prototype、Backbase、Dojo、DWR等,同时微软也推出了AJAX工具Atlas大多数开发者此时开始真正关注AJAX技术并尝试在项目中使用,由于AJAX的优良特性,企业Web应用开始了新的篇章。
基本上我们现在正处于这个时期,我们认为,这个阶段只是AJAX的初级应用层次,虽然有众多的框架、类库、工具来支持,但是这些框架和类库都还相当的基础,缺少标准和规范,缺乏更多和全面的高级应用支持,缺乏与开发工具的整合,已有的一些工具也仅仅提供了简单的AJAX开发支持。
虽然有了各种框架和类库的帮助,然而我们发现,使用AJAX的过程是那样的疑惑,与现有的技术结合似乎有些不易衔接,框架和类库的功能比较基础和不够全面,程序的代码量相当的多,没有快速易用的开发环境支持,涉及的调试往往比较困难,程序的规范性和标准性不是很好,难以维护等等。
需要提醒的是,现在由于开源的泛滥和炒作,不少开发者陷入了大量概念和框架的迷惑,忽略了技术的根本和基础以及设计理念的探索,仅限于功能的肤浅使用和认识,缺乏深入探索和创新,这对于我们国家软件业的发展是极为不利的。
三、             发展阶段。
越来越多的开发者认识到AJAX的优点,企业应用的需求又急需这样的技术来支撑,
开发者不断加强AJAX的实践和掌握,积累了很多优秀的经验和适合自己的开发模式,这个时候企业Web应用必然转向以AJAX技术为主流。在这样的趋势下,会有更多有实力的厂商推出较集成的AJAX解决方案,现有的AJAX产品将发展、整合,将出现一些应用上的标准,以标准化构件化为设计基础的开发模型必将出现,同时会有以标准构件为基础的可视化集成开发工具来支持,相关的编程环境和调试环境将提供更简单快速的开发方式。从系统角度看,分布式对象访问机制将在AJAX技术下实现,类似EJB、DCOM等技术,对远程分布对象的本地化映射和序列化传送必将形成标准,并得以广泛采用。从数据库的应用角度上,AJAX的数据传递和处理机制也将在远程分布对象访问的基础上形成一定的标准和形态,类似MIDAS体系,为数据库应用开发提供更多的便利。
       现在有不少厂商开始朝这个方向发展,构件化形态的AJAX库有r.a.d.controls,Backbase、AJAX Dev Library、ComponentArt、Blueshoes等,已经有几款AJAX可视化开发工具出现,它们是EchoStudio、JoyiStar WebShop、Tibco GI等。
四、             成熟阶段。
展望未来,有了构件化和开发工具的支持,AJAX的敏捷开发模式已经形成,我们可以像使用.net、Delphi一样实现快速开发AJAX应用,而现代的软件设计和开发思想、项目管理的需要,要求我们从工程的角度来解决企业应用,因此AJAX开发必将与成熟的软件开发过程结合,产生具有企业级应用特征的完整体系架构和实现支撑,无论从基础架构、技术系统间耦合、构件化、开发工具支持、过程工具的支撑均实现整体化。作为AJAX运行的基础,浏览器将提供更强大的支持和改变,比如支持安全允许下的文件操作、硬件接口;AJAX远程分布对象访问机制形成标准,并将纳入操作系统的一部分或成为标准服务;第三方构件统一标准及整合、应用功能强悍,丰富的工程模板;开发环境完善易用,兼容多种程序语言,支持团队协作与版本管理;能够与建模设计工具良好融合,如UML建模;能够进行智能性可重复测试,与测试工具结合;AJAX得到更广泛的应用,针对智能终端浏览器提供特性化功能支持。
AJAX在对Web应用功能的大幅提升将直接导致应用模式的改变,首先企业应用会更多地采用AJAX来实现,对于大型应用来说,Web模式带来的易用性和可维护性显然具有诱惑力,AJAX支持的客户端功能提升使得替换传统的操作界面成为可能;AJAX具有数据与样式分离及易于结合的特点,松散的耦合性、优良的开放性和标准化非常有利于网络信息共享,从而类似Web Service,在因特网信息共享及个性化交互方向得到充分发挥;另一方面,具有网络服务应用特征的新型应用模式会更多地出现,比如网络应用租赁形式广泛被使用,涵盖的内容将可能是各类信息管理、网络客服、在线设计、网上交流、甚至是在线游戏。
当然,AJAX也有很多缺陷,将阻碍它的发展和广泛使用。AJAX从技术使用上确实有些复杂,涉及的内容比较多,对开发者的技能要求和熟练度偏高;脚本的运行效率实在是个问题,也许以后浏览器级脚本预编译技术的支持会解决速度的问题;数据较多时XML的效率往往还成为了一个瓶颈,不过AJAX可以不使用XML而采用其它的数据格式,比如一些轻量级的数据交换格式JSON;AJAX基于标准网页元素的界面功能仍显单一和功能不足,智能客户端或类似XUL的技术目前也暂露头角,也许这些技术都将会有融合及互相借鉴式地发展;AJAX在各种浏览器上兼容性的问题也会让人很头疼,传统的网页却具有更好的适应性,相信浏览器厂商会逐渐解决这个问题,著名的浏览器厂商Opera甚至已推出了支持AJAX的移动设备浏览器,这无疑预示着AJAX不仅仅在桌面终端上,而且在移动手机等设备上也将大放异彩。
最后,我们要说明的是,AJAX不是一种必须和万能的技术,它有适合自身应用的场合,并与现有的动态页面技术互补融合,在未来的软件技术发展中,相信AJAX将担负起更多的用途,在Web应用的舞台上发挥重要的作用。
        http://www.joyistar.com
原创粉丝点击