Web新动力 - AJAX

http://www.sina.com.cn 2007年08月29日 11:16  IT168.com

  《信息周刊》载文,IT168编译

  谈到计算机编程,有时它只是意味着找到合适的组合方式。近来,谷歌公司(Google)的开发人员将一些存在多年的Web技术进行了重新组合,精心设计出 一系列令人炫目的产品,比如,完美互动的北美地图GoogleMaps、性能非凡的电子邮件Gmail、特殊的搜索引擎Google Suggest—用户只需键入头几个字母,它就能够提示完整的词组,等等。

  现在,Google公司开放了GoogleMaps的应用程序接口(API),以及GoogleMaps、Gmail和Google Suggest背后的一些代码。这些应用都采用了一种综合性软件Ajax 写成。Ajax是Asynchronous、Javascript 和XML的缩写。在Google公司和雅虎公司(Yahoo!)等互联网领袖企业的推动下,Ajax正使得企业为客户提供在线服务的方式发生转变。

  同时, Ajax还使得在Web上运行软件的感受,越来越接近于本地PC机上的运行水平。用户在查阅GoogleMaps时,不必再面对令人厌烦的旋转沙漏(Spinning Houseglass),所需要的工具也不复杂,普通的浏览器就可满足需求。

  GoogleMaps产品经理布莱特·泰勒(Bret Taylor)大胆声称:点击URL和下载页面的做法是“老式的Web用户界面”,而Ajax开发的软件给人的感觉更像是一种桌面软件。“我们确实对Web应用软件的形态重新做出了定义。”他表示道。

  更多的软件开发人员和Web用户很快就能理解泰勒的上述言谈意味着什么了。微软公司(Microsoft)最近表示,公司正在开发一个被称为“Atlas”的编程工具代码,它能让大量的Visual Studio用户使用Ajax编写应用软件。由于数据处理放在后端进行,Web站点可以迅速向用户提供新的信息,而无需重新刷新页面。

  雅虎公司的图片共享网站Flickr。com以提供能够让用户轻松在线组织和共享的图片而著称。该网站最近将大部分站点内容从 Macromedia公司的Flash 技术转向了Ajax技术。雅虎公司也正准备对其雅虎邮件服务进行大幅升级,这次升级是基于去年对Ajax电子邮件软件企业Oddpost 公司的购并,以便公司能迅速赶上Google公司 Gmail的发展速度。

  Ajax也能用于流量较大的B2B网站。Sabre控股公司(Sabre Holdings)正准备发布新版的航空计划和运营软件,该软件采用Ajax后,反应时间从数秒减少到数毫秒,满屏的航班情况瞬间就可浏览到。今年5月, Sabre 控股公司基于开源协议,开始开放部分Ajax代码,来树立公司“IT创新者”的形象。公司航空解决方案部门的产品开发副总裁大卫·恩迪科特(David Endicott)表示:“我们突破了性能问题和可用性方面的障碍。”他所在的部门为一些航空公司开发软件,客户包括美国航空公司(American Airlines)和捷蓝航空公司(JetBlue Airways)等行业领袖企业。“这对于我们品牌的知名度以及公司的影响力都是一个较大的提升。”

  在软件开发的创新之路上,通常会出现一两位天才的程序员,而Ajax的来源则更分散一些。它的核心技术自1990年以来就存在,不断演变的Web战略和Web技术使他们以一种新奇的方法组合在了一起。

  Google公司、微软公司MSN部门和雅虎公司正在不断推出大量高质量的软件,一些企业也正努力通过更好的网站设计来提高品牌形象和增加收入,因此,Web上的软件设计正变得越来越重要。如今,浏览器市场的争夺战已经明显降温,很大程度上,这使得程序员们开发的软件在任何浏览器上的运行都会比较可靠。“

  “用户在Web上的体验已经出现了差异,”微软公司平台战略部总经理查尔斯·菲茨杰拉德(Charles Fitzgerald)说,“今年年初或更早以前,你会注意到,企业的兴趣也发生了新的变化,争夺客户注意力的战争已经开始。”

  由于Ajax这项技术实际上已经从自主产品部件的组合,转化到了更加标准化的产品,那么另一场争夺战是,由谁来向用户提供构建强大的 Ajax网站的开发工具。在大多数网站,当Web用户点击单词或图片,网站的软件就会向服务器发出请求,提取数据、进行运算,或显示图像。而在使用 Ajax设计的网站,浏览器加载一个引擎,它会拖动用户界面并在后端执行信息请求。结果就会出现像GoogleMaps软件的效果,用户能在美国和加拿大地图上从一个州放大到一条街的水平。当用户在地图上从美国南达科他州的苏福尔斯(Sioux Falls,SD) 拖曳到威斯康星州的肯诺夏(Kenosha)时,这个软件就会加载一些屏幕范围以外的像素所组成的图素(Tiles),这样用户就不会感觉到有时间上的滞后。

  今年3月,雅虎公司收购了Flickr。com。在这个网站上,用户可以将照片放进相册进行管理,或是通过在页面上拖动的方式与其他组群共享,每次操作行为的变化无需对页面进行重新载入。“三四年前,这是根本不可能的事。”雅虎公司的一位总经理和Flickr。com的创始人之一斯图尔特·巴特菲尔德(Steward Butterfield)表示,“过去的体验非常糟糕,这样的新功能过去根本不值得推出。”

  由于浏览器生产商不再争先恐后地推出新版本,程序员头一次感觉到,自己编写的代码和XML终于能够可靠运行,因为软件不太会频繁发生改变了。这也使得人们对Ajax的兴趣大增。Web设计咨询企业Adaptive Path 公司用户体验总监耶西·J·加勒特(Jesse James Garrett)表示:“IE和Mozilla(Firefox的缔造者)在过去5年中,基本上都是在打补丁而已。”新的Web编程方法Ajax,正是由加勒特所命名的。

  包括亚马逊网站(Amazon。com)、苹果公司(Apple Computer)、荷兰直接银行(ING Direct)、Lands' End公司、在线DVD租赁公司Netflix公司,blog(网络日志)内容聚合提供商Technorati以及沃尔沃公司(Volvo)等在内,一大批公司都是Ajax的追随者。“Ajax在管理层中会得到更大的信任,因为这项技术在管理者们所信赖的著名企业中获得了高度认可。”Flickr。com 的巴特菲尔德说,“这使得Aajx的地位更加合法化。”

  Ajax并不简单。它包括了两种以上的Web语言以及其他代码,包括JavaScript、动态 HTML和微软公司创立的例行程序XMLHttpRequest等。由于Ajax是从免费技术当中随意组合在一起的,因此开发所需的时间就会比在商业开发环境中的开发时间要长一些。

  但是,这种开发方式避免了采用浩繁的编程语言,如太阳计算机系统公司(Sun)的Java;或创建多媒体服务器和多媒体工具,如Macromedia公司的Flash等。由于Ajax的基本技术可以方便获得,而且完全可以在普通浏览器下运行,所以这种软件的大量使用将会削弱这些公司的产品需求。

  微软公司等高科技企业对Ajax的重视程度还在进一步提高。微软公司计划将在今年9月,在美国洛杉矶召开专业开发人员大会(Professional Developers Conference,PDC)上,发布Atlas的预览版本。该公司表示,Atlas能让公司轻松地为不同浏览器开发和测试Ajax。“现在,还稍微带点黑客的性质。”菲茨杰拉德开玩笑说。

  Google公司最近公开了地图站点的API,让开发人员创立混合性的网站,就像社区网站Craigslist所创建的一个站点就包含了Google公司用户界面。条件是在任何使用其API的网站上,Google公司都享有广告权。

  7月初,Google公司公布了JavaScript 版本的Extensible Stylesheet语言,这是在开源BSD协议下,从服务器获取XML文件并在浏览器内将其转化为HTML的软件。而且Google公司为开发员工提供了一个Ajax技术的工具包。

  不过,竞争对手也在对Ajax挑三拣四。Macromedia公司执行副总裁和首席软件架构师凯文·林奇(Kevin Lynch)表示,编写Ajax软件需要重复测试以消除不同浏览器所造成的Bug。他还指出,Ajax缺乏商业开发工具的现实。“如果采用Flash,你可以一次完成,而且运行时间也能统一起来。”

  Sun公司副总裁和Java计算机语言发明人詹姆士·高斯令(James Gosling)最近表示,虽然很多开发人员将Ajax和Java结合起来使用,但相对来说,Java还是一个更有生产力的编程环境。“Ajax对那些看上去比较精巧的网站是很好的工具。”他说,“Google公司的地图站点给人们留下深刻印象。而人们不了解的是,Google公司为了让地图在其他浏览器平台上顺利运行经历了多少痛苦。”

  即使拥有更高的浏览器稳定性,Ajax相比普通的Web应用软件而言,还需花上更长时间进行调试。由于缺乏商业开发工具,因此采用Ajax 还缺乏标准的方法。不过,转向Ajax并不是故意逃避问题的方式:由于其技术的核心是一种软件从服务器获取数据,并执行代码的新方法,因而,它的影响范围就不只是用户界面层。“它提出了一种全新的软件开发模式。”巴特菲尔德表示。当然,Ajax还有一些其他缺点,比如老练的用户能在浏览器里查阅 JavaScript代码,并猜出软件的构造方式。

  与传统的Web设计相比,Ajax设计也许难度更大一些。不过,Google公司的泰勒认为,能让客户拥有更好的体验终究是值得的。正如Sabre控股公司用户体验经理比尔·斯科特(Bill Scott)所说的:“我知道Ajax有许多渲染的成分,但它的确是近一段时间以来出现的最棒的技术之一。”

  让你的网站拥有地图——Google公司和雅虎公司希望自己的地图服务能够整合到其他Web站点

  Google公司和雅虎公司分别发布的整合界面,让想要在自己Web站点上添加街道地形图的公司有了两个选择。

  Google公司前不久发布的Google Earth,让人们使用卫星图像把地图放大到街道级水平。免费的API可能没有Google Earth那样炫目,但对企业来说,API可能更实用。GoogleMaps的API使得开发人员可以采用JavaScript将地图嵌入到自己的网页上;用户可在地图上增加覆盖层,包括箭头等;还可以用阴影显示信息窗口。测试版对任何网站都是免费的,尽管Google公司保留在地图上做广告的权利。

  YahooMaps的API使得开发人员通过覆盖内容创建定制的地图,这些内容从天气预报到车库销售无所不有。

  两家公司都提供免费API。但是如果你需要支持,就要通过公司的讨论组获得。

发表评论 _COUNT_条
Powered By Google
不支持Flash
·城市对话改革30年 ·新浪城市同心联动 ·诚招合作伙伴 ·企业邮箱畅通无阻
不支持Flash