技术开发 频道

抢占AJAX制高点的战役白热化


【IT168 专稿】

    现在很难说清楚微软对一件事情的命名到底是产品名还是代码名,有时候后者可能更为准确的。但是微软经过几个月对执行异步JavaScript称为Atlas后,该产品的客户端功能模块最终被定名为微软AJAX Library。

    ASP.NET产品经理Scott Guthrie最近在其博客中透露了微软的这个决定,服务器端的功能模块被称为ASP.NET 2.0 AJAX扩展。

    在微软发布这一消息后不久,微软在AJAX领域的竞争对手OpenAjax联盟就正式宣布开始运作,其中包括Google、IBM、Mozilla、Opera和Red Hat等多家IT巨头,近日该联盟又宣布纳入Sun公司,该组织从今年2月份宣布成立以来,它的成员数量已经翻了一倍。

    OpenAjax联盟的目标是加速采用Ajax技术的Web 2.0时代的尽快到来。现在的Web 2.0看上去可能比以前预料的更像Web 1.0。

     异步JavaScript和XML是最新的工具,也是最有效的工具,可以通过Web实现客户端丰富的功能。与传统网页中的嵌入式JavaScript不同,AJAX可以让网站提前提取数据,增强网站的响应敏感性,同时,可以只从服务器端请求XML格式的文档,而不用请求整个全新的HTML页面或全部内容,加快了响应速度,让用户象使用应用软件一样使用网站。

    用过Google的地图软件Google Earth的用户一定对此技术有体验,用户不用下载所有的Google Earth数据,用户在同一个页面上,而地图软件在底层进行变化。来自Web服务器的响应不仅可以改变内容,而且还可以改变在客户端的页面布局(文档对象模型DOM)。

    而且,AJAX引擎可以不用通过服务器就可以与用户实现交互。迄今为止,可以说AJAX是通过Web页面实现控制的最有效、最安全的模型,而且完全可以在客户端实现。

    就在人们讨论Google在AJAX领域的领导地位的同时,微软也在2005年7月份迅速推出了它的第一个Atlas实验。Atlas迅速成为微软工作的重点,在一定程度上促使Ozzie取代比尔盖茨走上了今天首席软件架构师的地位。

    经历过2006微软开发大会上的一系列对智能客户端Web编程技术的投票,微软的AJAX实现技术已经应用在每一个Windows Live Search的页面上,Windows Live Search 1.0已经在最近正式推出。

    在这场战争的另一方面,IBM对OpenAjax联盟的组建也起了至关重要的作用,尽管开发者们或许会认为Google对Ajax的推广起了最重要的作用。本周Sun的加盟同样也是非常重要的,从历史的角度来看,尽管Sun并没有创建JavaScript脚本语言,但是却可以被看成JavaScript的筹备人之一。Netscape首先使用它,不过具有讽刺意味的是,微软帮助把其中一个标准转化为国际标准-ECMAscript。但是AEAX听起来并不怎么好听。
【IT168 专稿】
 
    OpenAjax联盟对AJAX技术发展的贡献之一是OpenAjax Hub,其1.0版将在明年初发布,微软的AJAX 1.0可能在这之前发布。OpenAjax Hub不是一个完整的执行代码库,而是由一些开源代码组成,这些代码用于解决联盟成员之间实现互动的一些关键问题。

    根据联盟表示,OpenAjax Hub的四个部分主要包括如下内容:1、冲突检测,指的是当浏览器分析页面的时候,知道从什么地方HTML代码结束和Ajax代码开始;2、工具箱加载,可以让一些小开发者在任何联盟成员代码环境中创建snap-ins;3、标记混合,另一个关键的分析问题;4、事件管理,指得是一系列Ajax代码可以响应的用户互动事件。

    通过联盟成员制定出的以上四个问题,他们可以自由的去制定属于他们自己的客户端代码库和服务器端开发环境及实现系统。IBM已经对此表示了兴趣,Sun当然不会对此不跟进。

    但是最大的问题涉及到Google。自该联盟去年二月份成立以来,Google一直是态度比较低调的成员之一,尽管可能没有一个公司能像它这样开发和利用这个语言。它的当前在线应用基于Google自己的语言库而实现。

    这就是Google最近推出的Google Web Toolkit (GWT)。GWT是一个开发Ajax应用的框架,它支持用 Java 开发和调试 Ajax 应用,使程序员用Java同时开发客户端和服务器端的代码。GWT的编译器会把用于开发客户端的Java代码转化成Javascript和Html,而程序员不用关心这一转换过程。这样程序员就可以在自己喜欢的Java IDE里面开发自己的Ajax应用程序。

    GWT的推出使得Google公司在软件开发领域和Web服务和应用领域成为微软的竞争对手。尽管Google公司态度不明朗,这还是有可能变成下一轮软件开发战争的最前线,使得其他联盟成员,诸如IBM、Sun、Red Red Hat和SAP可能作为旁观者等待结果。
0
相关文章