Ajax还缺什么?

Ajax技术发展了两年半了(从创造出“Ajax”这个术语算起,如果从Gmail和Google Maps等Ajax应用诞生算起的话,还要更久一些),不必说,Ajax技术取得了巨大的进步。现在Ajax已经堂而皇之地成为了一种主流的RIA技术,不再有人认为这些不过只是一些古怪的hack。

Ajax技术的进一步发展会受到两方面的制约,即浏览器的发展和Web标准的发展。

在浏览器方面,M$的态度是Ajax技术蓬勃发展的一个最大阻碍。M$不会容许浏览器本身发展成为一个强大的开发环境,而且还能够相互替代。那样将不会有人再关注IE,也不会有人再关注Windows。
在Web标准方面,W3C的HTML/XHTML标准向何处发展,目前还不是很明朗。请看:
HTML 的未来,第 1 部分: WHATWG
HTML 的未来,第 2 部分: XHTML 2.0
目前WhatWG组织已经成功说服了W3C,重新启动了 HTML工作组,将 Web Apps 1.0(HTML5)纳入了官方的规范流程。
WhatWG组织三大浏览器Firefox/Opera/Safari对抗M$ IE的格局会持续多年。

Ajax开发的复杂性是一个大问题,Rails的RJS是解决这种复杂性一种有益的尝试。基于Web标准的Ajax技术发展潜力仍然巨大,不过Ajax开发需要有高度成熟的组件库和开发工具的支持,现在基于HTML/CSS/DOM的开发方式,抽象的层次太低了,难以实现高度复杂的交互。
Ajax的美好未来还需要等两三年才可能变为现实,在这段过渡期间,Adobe Flex是Ajax最好的补充。Adobe对于Ajax的贡献很大,将大量的源代码贡献给了浏览器开发社区,看来Adobe的理想是基于Web标准的技术与基于Flash的技术能够无缝地协作。Flex是一种非常值得关注的RIA技术,在今年之内将完成开源的过程。Ajax未来才能使用的一些技术(例如DOM3事件模型、ECMAScript4、E4X等等),在Flash中已经实现了。为什么说这些技术未来才能使用呢?就是因为M$ IE在拖后腿,不可能只考虑Firefox/Opera/Safari,而使用Flash,考虑的问题要简单的多。以前我问过Dojo的开发人员为何Dojo不支持以HTTP PUT和DELETE方法发送请求,从而全面支持REST。你猜他们怎么说?是因为Safari目前还不能支持HTTP PUT和DELETE方法,而Dojo希望在所有主流的浏览器上保持完全一致的行为。

在以传达文本信息为主的Web应用中,基于Web标准的技术仍然会唱主角。但是在以图像处理、动画、多媒体交互为主的Web应用中,将是Flash等其他RIA技术唱主角的场所。如果将这些非常复杂的交互需求塞到HTML中,会使得HTML变得非常复杂,这并不是W3C设计HTML的初衷。基于HTML的技术并不适合实现这样具有复杂交互需求的Web应用,HTML应该保持它的简洁性和易用性(低门槛)。

Ajax与其他RIA技术的适用场合并不是重合的,并不存在其他RIA技术取代Ajax的可能性(一些好事之徒总是喜欢一再争论这些浮在水面上的肤浅问题)。只要大多数人还在使用浏览器,各种Web标准(XHTML/CSS/DOM)还没有被废弃,Ajax就会持续发展下去。那么,Ajax还缺什么呢?简而言之,一个像Rails那样的能够大幅简化开发过程的killer级开源开发框架。我相信强大灵活的JavaScript语言有这样的潜力。然而,Dojo、Prototype/Script aculous、Ext、 YUI、jQuery、MooTools GWT、DWR,王者迟迟还没有出现。

猜你喜欢

转载自blog.csdn.net/mozilla/article/details/1745788
今日推荐