Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7096267
  • 博文数量: 703
  • 博客积分: 10821
  • 博客等级: 上将
  • 技术积分: 12042
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-02 10:41
个人简介

中科院云平台架构师,专注于数字化、智能化,技术方向:云、Linux内核、AI、MES/ERP/CRM/OA、物联网、传感器、大数据、ML、微服务。

文章分类

全部博文(703)

分类: Java

2006-06-01 09:00:33

如果你曾参与过网络开发,那么对你来说,利用远程脚本调用能力、通过 AJAX(Asynchronous JavaScript + XML)来开发应用软件的最新趋势也就不足为奇了。毕竟,这一技术多年前就已出现,只是与浏览器不兼容罢了。微软一直宣称 ActiveX 为解决方案,但随着 AJAX 技术的不断升温,这一情况已经改变。现在让我们深入探究 AJAX 革命,以及微软的参与和方案。

    AJAX 是什么?

    定义 AJAX 可不象指向 W3C 网页那样简单,因为它是几种技术的组合。它包括如下技术:

    * XHTML 和 CSS 的标准表示;
    * 使用文档对象模型 DOM(Document Object Model)实现动态显示及用户交互;
    * 使用 XML 、XSLT 和 XMLHttpRequest 进行数据交换及操作;
    * 使用 JavaScript 将所有技术绑定在一起。

    AJAX 与传统网络开发的最大不同在于采用了远程脚本调用技术。远程调用技术允许用户方的 JavaScript 语言向服务器发送数据请求,而不用刷新网页。这一任务是通过JavaScript语言与XMLHttpRequest对象来实现的。远程脚本调用将一部分处理过程转移到客户(浏览器),这大大减少了向网络服务器的呼求数目。

    微软首次将XMLHttpRequest对象作为一个ActiveX对象应用在Windows IE5中。与这个ActiveX组件一同首次开发的还有Outlook Web Access。研发Mozilla计划的工程师推出了Mozilla 1.0(及Netscape 7)的兼容本地版,苹果公司也在他们的Safari 1.2中增加了这一支持。在一份提议的W3C标准中也包含了类似的功能。与此同时,XMLHttpRequest对象实际上已成为技术标准。

    “中间人”
    
    传统的网络应用软件首先向HTTP服务器触发一个用户行为或请求的呼求。反过来,服务器执行某些任务,再向发出请求的用户返回一个HTML页面。这是一种不连贯的用户体验,服务器在处理请求的时候,用户多数时间处于等待的状态。

    AJAX则不同。它通过在用户与服务器之间引入一个中间媒介,从而消除了网络交互过程中的处理—等待—处理—等待缺点。用户的浏览器在执行任务时即装载了AJAX引擎。AJAX引擎用JavaScript语言编写,通常藏在一个隐藏的框架中。它负责编译用户界面及与服务器之间的交互。AJAX引擎允许用户与应用软件之间的交互过程异步进行,独立于用户与网络服务器间的交流。

    AJAX不断升温

    AJAX正受到大型公司Google及Amazon的关注。Google已将AJAX广泛应用于其开发的Gmail、Google Suggest和Google Maps等网络应用软件中。(确实,在最近所有开发或改进的主要产品中,Google在AJAX方面投入了大量资金。)同样,Amazon也推出了应用AJAX技术的A9搜索引擎。每天都有许多类似的例子涌现。

    微软的AJAX

    当然,微软也在着手开发更为完善的AJAX。它即将推出代号为Atlas的AJAX工具。Atlas的功能超越了AJAX本身,包括整合Visual Studio的调试功能。另外,新的ASP.NET控件将使客户端控件与服务器端代码的捆绑更为简便。Atlas客户脚本框架(Atlas Clent Script Framework)也使与网页及相关项目的交互更为便利。但Visual Studio 2005中并不包含此项功能。

    微软最近宣布Atlas客户脚本框架将包含如下内容(详细资料请访问Atlas计划网站):

    * 一个可扩展的核心框架,它添加了JavaScript功能:如生命同时期管理、继承管理、多点传送处理器和界面管理。
    * 一个常见功能的基本类库,有丰富的字符串处理、计时器和运行任务。
    * 为HTML附加动态行为的用户界面框架。
    * 一组用来简化服务器连通和网络访问的网络堆栈。
    * 一组丰富的用户界面开发控件,如:自动完成的文本框、动画和拖放。
    * 处理浏览器脚本行为差异的浏览器兼容层面。

    上述内容只是一个初步的框架。在确切的产品发布之前,这些内容很可能会有所改变。如果你等不及微软的产品,可以先试用一下免费的微软.NET框架Ajax.NET库。

    AJAX的缺点

    AJAX要求用户的浏览器支持JavaScript语言。尽管这并不是主要的问题,不过也要加以考虑。同样,这些应用软件必须经过严格的测试来适应不同的浏览器及平台。但是,这种情形只对基于浏览器的应用软件而言,并不包括目标浏览器可被控制的局域网在内。

    用户对AJAX的抱怨主要集中在浏览器后退功能的失效上,因为在AJAX下,页面的动态更新并不被浏览器认为是进入另一个网页。不过,用IFRAME中的一个常用方法就可以解决该问题。

    AJAX面对的另一个批评让我觉得很有趣,有人认为AJAX不过是为了推销旧技术而引入的新名词而已。这也许是对的,但至少它所包含的技术是成熟且经过测试的。

    旧瓶装新酒

    AJAX技术在网络开发界并不新奇,但总的来说,它对所有主流浏览器的广泛支持使其更易于为网络开发界所接受并加以应用。AJAX所应用的技术成熟而稳定。利用它你能够开发出丰富的应用软件,从而减少服务器的响应时间,这样用户的等待时间也相应减少。

    =====================================================================

                 微软搭上 AJAX 的班车 2005.10.13  来自:CSDN

    为了不落后于开发潮流,微软正在致力于简化创建所谓AJAX的应用程序的过程,AJAX叫作带有复杂图形特性的Web应用程序。

    该公司正在打造一个代号为Atlas的软件,它向开发人员提供了用来简化AJAX类型应用程序开发的工具。这一软件的早期版本将于今年9月份在洛杉矶举行的微软开发人员大会(Professional Developers Conference)上推出。

    AJAX是一个相对来说较新的术语,它描述了在过去8年间创造出的一套标准化Web技术,包括JavaScript、动态HTML以及XmlHttp。XmlHttp技术将减少Web客户端在下载信息时需要再次连接到服务器的次数。

    越来越多的支持者认为,利用AJAX创建的应用程序要比目前基于Web浏览器的应用程序性能更好。

    微软公司负责平台技术的总经理Charles Fitzgerald表示,微软的Atlas软件是一个“Web客户框架”,它将使得创建AJAX类型的应用程序更加简单。

    “从事AJAX开发的都是顶尖科学家”, Fitzgerald说:“从某些方面来看,这和JavaScript开发是一样的。代码很容易创建。”

    他表示,Atlas是一段可下载的JavaScript代码,这给予开发人员一个更加结构化的环境来创建应用程序,并提供了多种节省时间的服务。它适用于任何支持AJAX技术的浏览器。

    开发人员可以通过微软Visual Studio 2005开发工具和Web开发框架ASP.Net 2.0来使用Atlas软件,这两个产品预计将于今年11月份面世。

    Fitzgerald表示,Atlas是微软推出的用于创建富客户端应用程序的技术套件的一部分,富客户端应用程序具有复杂的用户界面设计,而且要比传统的Web应用程序的速度更快。

    该公司还在投资开发能够更容易创建Office应用程序的开发工具,这就领用后端应用程序触及到了SAP和Siebel等公司占据的数据领域。

    在9月份召开的开发人员大会上,微软将给出更多关于使用Avalon进行前端开发的信息,而这一图形系统和编程模型将随着明年Windows操作系统升级到Longhorn而正式到来,Fitzgerald说。
阅读(3960) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~