对于Ajax开发者来说未来将会有一场战争,我不知道各位是否嗅到战火来临前的气息, Ajax开发人员被称作Web开发的先行者,给开发业界带来了巨大的冲击。让人们更了解Web的工作原理,并给用户带来了具有丰富的Web体验。正如同所有先行者一样,我认为他们对未来的发展非常谨慎,即使这种富用户体验的Web编程技术已经被人们认可,他们依然在不断把它们的发展推向新的极限。
那么,当视频和多媒体内容开始更多的集成到Web应用程序中,Ajax开发者该做什么呢?当他们想要创建活泼的用户界面,需要支持多媒体或增加更深层次的功能的时候,他们将走向何方?总体来说,Ajax开发者对于那些Web扔给他们的问题,已经给出了创造性的、让我们大开眼界的答案。
但是Ajax所能完成的也就这么多了,已经达到了它的极限。当这些聪明的开发者想做些超出了Ajax能力之外的某些事情的时候,他们该走向何方?这就是我所说的Ajax开发者面临的战争,本文认为目前主要有两个重要的对手以及一些影响较小的参与者,并且他们都已经得到了一些非常有天赋的Ajax开发者的支持。
一、多面手OpenLaszlo和XUL
目前可以让Ajax开发者来创建客户端Web应用程序的技术有不少,其中人们相对比较了解的有OpenLaszlo和XUL两种。
使用 OpenLaszlo 可以轻松地在 Web 上创建具有类似桌面客户端能力的用户接口。OpenLaszlo 主要使用 LZX 文件描述界面和布局的相关信息,LZX 是一个标准的 XML 文件,而相关的运行逻辑部分由 JavaScript 来表达。
在OpenLaszlo 中可以向后端服务器发送 HTTP 请求并获取返回的数据。用户可以使用 XML 来传输和表示数据,OpenLaszlo 提供了强大的 XML 数据处理方法,并且可以让用户通过数据绑定的机制来简化数据驱动的 RIA 应用程序的开发。
同时,在 OpenLaszlo 中,使用 Adobe Flash 作为载体,可以轻松创建带有大量动画的用户接口。
OpenLaszlo 未来的目标并不仅仅在 Flash,因为将来 LZX 文件除了被编译成 SWF 文件,还可以选择生成 DHTML,这也将大大提高其适用范围。另一方面,在开发工具方面,OpenLaszlo 也开始得到越来越好的支持。用户可以从 eclipse.org 上下载 LaszloIDE,它是一个用于开发 OpenLaszlo 应用程序的 eclipse plugin。
(二)XUL的使用
另一个可供Ajax开发者选择的技术是XUL,即XML用户界面语言,它是一种用于创建具有丰富动态特性用户界面的标记语言。
XUL最初是为Mozilla软件,其中包括web浏览器,邮件客户端软件和网页编辑器编写用户界面而设计的。但是,除了编写这类软件外,XUL也同样能够用于你现在使用的web应用软件中的任何地方。
XUL的一个主要缺点在于它目前还没有获得一个主要商业实体的支持
二、微软的Ajax之路
这个以闭源而知名的公司实际上做了很多东西来取悦Ajax开发者。包括它的ASP.NET AJAX和WPF/E。
其一,微软的ASP.NET AJAX产品作为一个创建Web应用的伟大的框架,已经在Ajax社区中引起了很大的震动。
对于.NET开发人员来说,该软件最有价值的性能也许就是在用户和服务器之间加了—个中间层,能确保Ajax 应用软件在不同类型的浏览器上工作运行。
其二,相对比来说,更重要的应该是“WPF/E”。WPF/E的第一版重点在于视频和多媒体上,它最终将支持Manageed代码,但是目前它的核心语言是JavaScript。Blend和Visual Studio工具可以让Ajax开发者更高效的创建应用程序,而且开发习惯可以保留在熟悉的习惯之下。
总之,微软的Ajax策略在互联网应用程序领域是最被人们低估的事情之一。微软已经创建了一些技术来弥补在Ajax中的一些弱点,不过依然利用了其核心组件的一部分。
三、Adobe公司的野心:比Ajax更像Ajax
Adobe公司以34亿美元收购Macromedia的野心自然不小。
首先是Spry framework for Ajax,这是Adobe公司针对目前越来越流行的Ajax技术而推出自己的轻量级Ajax框架,最初是为了设计师能够使用HTML、CSS和很少的Javascript实现将XML数据集成到他们的页面中,并不需要刷新页面。
不过,它目前还似乎没有让那些更有经验的Ajax开发者所动心。
其次,Adobe还提供了一个Flex-Ajax Bridge服务,通过该服务使得Flash的一些高级功能可以被Ajax开发者所使用。
Adobe最大的杰作当属Apollo技术,Apollo计划可以使Ajax开发者把他们的Web应用程序知识带入到web/桌面应用的混合世界中。Apollo将对软件如何开发产生巨大的影响,它将让Aajx开发者成为“一等公民”。他们可以轻松的嵌入富媒体内容,因为Apollo支持Flash而且可以保持他们的应用程序更像Ajax。很多情况下,Apollo给Ajax开发者提供了一条再次修改Web应用的一条途径,正如他们第一次对Web 2.0那样。
小结
Ajax是一门好技术,它已经伴随我们走过一段很长的里程。本文把Ajax开发者称为先行者并不是轻视Ajax世界,事实上他们已经对业界产生了深远的影响,让人们重新审视Web和软件之间的关系。但是,随着开发者的水平的提升,Ajax迅速显示出其技术的局限性,于是人们开始寻找更好的工具和具有更加丰富体验的平台。多媒体对Web的重要性越来越大,通过Ajax本身实现起来已经非常吃力。因此,我们有必要把目光投向了下一代更具有丰富体验的技术