现在说AJAX是目下最时髦的技术一点不假,当然也有人认为其中有很多炒作的成分;估计两边谁也不能说服谁。因此让我们一起分析为什么AJAX在这个时候出现,以及它为什么会继续成长并且仍将徘徊一段时间。简言之,我把它归结为下面列举的十个最主要的理由。
按数字顺序是:
1. XAML,XUL,XForms...还未结束
2. 服务器技术不可知论者
3. Web 2.0
4. 业界领导们强烈支持采纳
5. 与Flex和Flash良好共处
6. 很低的成本增加
7. 常规Web应用软件的优点
8. 跨浏览器和跨平台
9. 可用性和用户体验是第一位的
10. 上面的理由全部基于开放标准!
下面,详细讨论各部分相应细节:
1.开放标准
让我们按逆序开始分析。AJAX是基于有众多浏览器和平台支持的开放标准的;这意味着,你不必惧怕供应商的锁定问题。事实上,大多数组成AJAX的技术已经被广泛地使用多年了。这些并不是一些只能在大多数时间才正常工作的热门的、新的、未经测试的技术。对于大多数用户和企业来说,现在的浏览器是一个值得信任的应用程序平台;这已经不再是五年前的情形了。对于AJAX来说,其转折点之一是Mozilla 1.0的发行-其中,FireFox基于并且支持XML HTTP请求对象。这就允许数据的异步传送-而这对IE来说,已经有数年的可能性了。这一支持以及FireFox的迅速采纳确实帮助人们认识到,实现跨浏览器的丰富的互联网应用软件是完全可能的。
1)JavaScript或ECMA Script(标准的ECM A-262):关于JavaScript,值得注意的一件事情是,它经历了很长一段时间才成为一种被人接受的技术。有相当长一段时间,许多公司都启用了一种"非JavaScript"策略!幸运的是,这一切正在快速地改变着。请见http://www.ecma-international.org/publications/standards/Ecma-262.htm。
2)XML是广泛使用的标准,详见W3C的http://www.w3.org/XML/。
3)HTML:http://www.w3.org/MarkUp/。
4)CSS:http://www.w3.org/Style/CSS/。
5)XML HTTP请求对象被Internet Explorer、基于Mozilla的Safari和Opera浏览器所支持。
2.可用性
开发者和设计者开始意识到,用户体验不仅大大影响着市场的成功,而且还影响着所有者的成本开销。基于AJAX应用软件,例如Google Maps,比更传统型如MapQuest的软件的成功说明了,能够提供更好的用户体验的产品更容易成功。现在,在使得Web应用软件更为可用方面,AJAX占据着领导地位。它允许页面从服务器请求少量的信息而代之整个页面。页面的这种不断更新消除了页面刷新问题和自始至今一直折磨着Web应用软件的缓慢响应问题。
人们意识到,他们需要体面的用户接口并且愿意在它上面投资。这里的底线在于,如果用户能够让事情做得快一些,那么其中就存在价值问题,而不论该应用程序是一个内网应用程序还是一个公共的Web服务。
3.跨浏览器和跨平台兼容性
IE和基于Mozilla的FireFox占据了当今浏览器市场的大部分份额,而且是毫无争议的最容易的基于之构建AJAX Web应用程序的浏览器;但是现在,有可能在最现代Web浏览器上构建基于AJAX的丰富的互联网应用程序。这是AJAX变得如此流行的一个重要原因。尽管许多开发者知道这在几年前在Internet Explorer上也是可能的,但是因为供应商锁定(或者说是技术垄断)的原因,这一应用并没有被挖掘出来。让我们谢谢Mozilla和FireFox吧!
4.常规Web应用程序的优点
AJAX是今天Web应用软件的脸面-而Web应用软件比基于桌面的软件也有明显的优点。这些优点包括较低的发布成本、更容易的支持、更短的开发周期及不需要安装,等等;上面这些仅是自从90年代后期以来使得商界和消费者采纳基于Web应用软件的部分优点(原因)。不过,AJAX将只能帮助web应用软件在客户端方面更好和更为成功些。
5.增长的技巧、工具和技术升级
因为AJAX基于事实上的已经出现多年的标准,所以许多开发者至少都已开始探讨这种用来构建AJAX应用软件的技术。这意味着,对于开发团队来说,不需要特别陡的学习曲线就可以实现从HTML和基于表单的应用程序到丰富的AJAX风格的应用程序的迁移。这还意味着,Web应用软件开发团队可以逐渐地把他们的用户接口升级到AJAX;它不要求大规模的升级和重写他们的Web应用软件。如果是从90年代后期以来在发布基于浏览器的应用软件方面做了相当大的投资的话,那么能够平衡现有系统并且能改进用户体验将是一件非常吸引人的事情。
6.使用Flex和Flash
大部分开发社区现在热论着Flash和AJAX。在不同情况下,这两种技术都有非常明显的优缺点,但是在它们之间也存在大量的协同工作的机会。许多开发者和供应商已经意识到这一点,并且非常和谐的利用AJAX和Flash技术开发了大量的伟大的软件。当然,Macromedia公司也非常渴望看到这些技术能够协同工作。
7.采纳
为业界领导普遍采纳AJAX这一事实同时也证明了市场的接受和这一技术群组的有效性。每个人,包括Google、Yahoo、Amazon和Microsoft等等,都涌入了这股大军中。应该说,是Google Maps真正吸引了Web开发者们的注意。当人们开始分析Google怎么能够在浏览器中没有任何插件的情况下实现这样一种令人难以置信的用户体验的时候,他们发现AJAX这种潜在的技术。
当然,只有Google利用AJAX做了点什么是不可能使得AJAX应用到主流企业中的。但是,如果你看一下例如eBusiness Applications(www.ebusinessapps.com)或Tibco(http://www.tibco.com)等AJAX开发公司的顾客列表,那么你将看到全球500强企业,包括主要的金融机关、管理机构、航空部门和其它主要行业,都在采纳AJAX,并且在"AJAX"术语出现之前就已经这样做了。
8.Web 2.0
爱它?恨它?Web 2.0运动正处于全面的摇摆之中,而且正改变着几乎所有程序员、VC、商人和终端用户等的思想。这就明确说明,AJAX技术将会被暂时采纳;当这一炒作最终平静下来的时候,人们将会有趣地看到所发生的一切。AJAX接口是许多应用软件,如从BackPack到Google Maps的Web 2.0等等,的一个关键组件。很可能,这一炒作会帮助加速对于AJAX的采纳并且其可用性优点将使之应用到很多领域。Web 2.0的关键原则之一是,使Web成为一个应用程序开发的平台,而不仅仅是Web页面的问题。高实用性和高交互性的用户接口是任何应用程序平台的关键的部分。
9.AJAX是服务器不可知论者
与AJAX是浏览器独立的一样,它也完美兼容于任何标准Web服务器和服务器端语言中。PHP,ASP,ASP.Net,Perl,JSP,Cold Fusion,等等-你可以自由选择并着手构建。这大大帮助推动了AJAX技术的应用,因为所有的Web开发者都能使用并且在一个通用描述层上进行表达。
10.下一代Web RIA技术还没有出现
今天用XUL构建应用程序是很伟大的事情;但是,因为它不能被90%的浏览器所支持,所以在大多数情形下它还不能被认为是一种非常实际的解决方案。然而,AJAX程序员应该密切关注例如XAML和XUL等技术的发展。毫无疑问,这些技术将更易于开发丰富的互联网应用软件,但是它们彼此相冲突并且还不存在相同的市场渗透或者动力。
AJAX对于改变当今已经存在的Web应用软件的可用性方面是伟大的。然而,AJAX并不完美,它不是"火箭科学"并且许多开发者和技术公司在一直尝试着研发更好的技术以用于RIA。事实是,AJAX已经出现并且被投入使用,它是跨浏览器和跨平台的,并且用户和开发者都喜欢它所能完成的功能。高度结构化的AJAX应用软件,例如Google Maps,已经明确地出现在它们的领域并成为其中的领导者(谁还会再使用MapQuest?)。同样,领先世界的全球500强企业正在使用AJAX并且甚至向社区回贡一些工具。业界已经普遍地同意内在的AJAX技术并且开始使用它们。不断更新的丰富的互联网应用软件和一种在浏览器技术方面的关键进步已经使得AJAX不仅是一个在开发者的工具包中的新工具,而且成为一种现象-正在改变着Web应用软件的书写方式。没人能确定地说用什么或者什么时候AJAX会成为更为人们喜欢的丰富的互联网应用软件平台;但是,在随后的几年中会一直存在许多因素支持AJAX。