`
青城天下幽
  • 浏览: 11118 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
阅读更多

本期专题  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://cn.joyistar.com

分享到:
评论

相关推荐

    AJAX原理 原理 AJAX

    我们在平时的开发中都多多少少的接触或者应用到了AJAX,谈到AJAX技术的意义,我们关注得最多的毫无疑问是提升用户的体验。但是,如果我们结合将来电脑和互联网的发展趋势,我们会发现AJAX技术在某些方面正好代表了...

    AJAX AJAX AJAX AJAX AJAX AJAX AJAX AJAX AJAX

    AJAX AJAX AJAX AJAX AJAX AJAX AJAX AJAX AJAX

    ext3.0 vista风格效果 ajax趋势哦

    在Ajax趋势下,网页的响应速度和用户体验得到了显著提升,因为用户无需等待整个页面刷新就能看到结果。 结合这三个关键词,我们可以看出,这篇压缩包可能包含了一些关于如何使用EXT3.0库创建具有Vista风格视觉效果...

    Ajax中文手册 API

    很不错的Ajax开发草考文档,方便快捷1. AJAX介绍AJAX是一种运用JavaScript和可扩展标记语言(XML),在网络浏览器和服务器之间传送或接受数据的技术。2. AJAX实例AJAX可以用来创建更多交互式的网络应用程序。3. AJAX源...

    浅谈AJAX 技术与优缺点

    ### 浅谈 AJAX 技术及其优缺点 #### 一、AJAX 技术简介 AJAX(Asynchronous JavaScript and XML)是一种用于构建交互式 Web 应用的技术,它允许 Web 页面无需重新加载整个页面即可动态地更新部分数据。这项技术最...

    转载的AJAX反转资料

    【标题】:“转载的AJAX反转资料”指出,这是一份关于AJAX技术的独特视角或非传统应用的教程。AJAX(Asynchronous JavaScript and XML)是Web开发中一种用于创建快速交互式网页的技术,它允许在不刷新整个页面的情况...

    ajax代码 ajax代码

    **Ajax(Asynchronous JavaScript and XML)技术是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这种技术可以提升用户体验,因为它...

    AjaxRequest(Ajax使用包)

    **AjaxRequest(Ajax使用包)** Ajax,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。AjaxRequest是实现Ajax功能的一个工具包,它...

    Ajax(Ajax使用js包)

    使用Ajax实现从服务器读取数据,包括Ajax实现的详细步骤

    ajax 基础教程源代码

    ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础教程源代码ajax 基础...

    jquery+ajax例子

    在IT行业中,jQuery和Ajax是两个非常重要的技术,它们在构建动态、交互性强的Web应用程序时发挥着关键作用。jQuery是一个高效、简洁的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互。Ajax...

    ajax调用xml ajax调用html

    ajax调用xml ajax调用htmlajax调用xml ajax调用htmlajax调用xml ajax调用htmlajax调用xml ajax调用htmlajax调用xml ajax调用htmlajax调用xml ajax调用htmlajax调用xml ajax调用htmlajax调用xml ajax调用htmlajax调用...

    ajax教程

    **Ajax 教程** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使得网页实现异步更新,提高了用户体验,尤其是在数据...

    Java Ajax分页,jsp ajax分页

    Java AJAX(Asynchronous JavaScript and XML)分页与JSP(JavaServer Pages)相结合,可以提供无需刷新整个页面即可动态加载更多内容的能力,提高用户体验。本教程将深入探讨如何使用AJAX、JavaScript以及MySQL...

    ASP.NET AJAX程序设计——第I卷:服务器端ASP.NET 2.0 AJAX Extensions与ASP.NET AJAX Control Toolkit 源代码

    本卷从最易于理解和使用的那部分入手,介绍ASP.NET AJAX框架中能够与传统ASP.NET无缝对接的服务器端部分,包括服务器端ASP.NET AJAX Extensions与ASP.NET AJAX Control Toolkit。这部分内容不需要读者有任何的客户端...

    php+ajax例子

    标题中的“php+ajax例子”指的是使用PHP服务器端语言与AJAX(Asynchronous JavaScript and XML)客户端技术结合的示例应用。在Web开发中,PHP通常用于处理服务器端逻辑,而AJAX则允许网页在不刷新整个页面的情况下,...

    ajax+json实例

    **Ajax+JSON 实例详解** 在现代Web开发中,AJAX(Asynchronous JavaScript and XML)技术已经成为提升用户体验的重要工具,它允许网页在不刷新整个页面的情况下与服务器进行数据交互。结合JSON(JavaScript Object ...

    掌握Ajax 学习资料pdf

    掌握 Ajax第 1 部分-Ajax 简介 掌握 Ajax第 2 部分-使用 JavaScript 和 Ajax 发出异步请求 掌握 Ajax第 3 部分-Ajax 中的高级请求和响应 掌握 Ajax第 4 部分-利用 DOM 进行 Web 响应 掌握 Ajax第 5 部分-操纵 DOM ...

    ajax+.net小例子 ajax+C#示例 ajax+.net 示例 ajax分页

    功能基础,增,显,分页。适合初学者。 ajax+.net小例子 ajax+C#示例 ajax+.net 示例ajax+.net小例子 ajax+C#示例 ajax+.net 示例ajax+.net小例子 ajax+C#示例 ajax+.net 示例

Global site tag (gtag.js) - Google Analytics