【IT168 专稿】今天的富互联网应用已经非常普及,其中既包括那些具有超酷外观的应用,也包括一些具有真正价值的应用,例如,美国军方的一个内网门户网站,它可以让美军飞行兵在全球各地执行任务时能够通过它互相保持联络。当来自芝加哥的开发商Roundach在开发这个应用时,就是选择了AJAX作为该项目的开发技术。
稳定性 AJAX让具有强大生命力
戴夫•米克(Dave Meeker)是Roundach的用户体验策略负责人,他表示,AJAX很明显最适合这个任务。AJAX的标准HTML和CSS代码库,再加上颇具吸引力的图形化界面,使得它成为众多政府项目的首选平台。
米克表示,“除非我们将来发现更好的技术,我们会一直选择AJAX来解决我们的问题。通过使用它我们大大减少了部署一个应用的次数。”
在过去7年中,米克的公司一直在维护这个军方门户网站,并创建了富互联网应用来让美国军人保持联系,另外还开发了诸如Webmail、后勤、计划编制和数据服务等方面的很多工具。该门户网站还提供了一个具有增强安全性的即时通讯工具,可支持视频交流,当士兵在海外执行任务时,可以通过该工具与自己的家人进行交流。据米克估计,该门户网站目前大约有850000注册用户,米克称该网站汇聚了军方使用的所有软件工具。
开发者们认为,尽管Adobe的Flex、微软的Silverlight和Sun的JavaFX目前比较受人关注,不过AJAX依然是一个可行且有强大生命力的RIA开发方法。AJAX让开发者们可以充分利用他们熟悉的CSS、HTML和JavaScript进行编程。许多开发者已经表示,AJAX易于使用,而且在创建简单的动态Web应用时更加适合。另外,AJAX可以运行在任何浏览器上,而且,在那些带宽资源比较匮乏的国家,如果使用Flex和Silverlight来创建上传应用,会碰到带宽不足的麻烦。
米克的公司曾经为非洲地区用户开发了一个富互联网应用,他表示,“当你需要在那些网络带宽资源非常低的国家运行Web应用的时候,比如在非洲和东南亚地区,如果你需要96MB的内存来运行Flash播放器,无疑用户会得到比较差劲的使用体验。如果使用AJAX技术来开发应用,用户在这些配置较低的硬件上会得到更好的体验。”
来自EMC的Powerlink开发组的技术负责人彼得•默泽内(Peter Mezzina)表示,AJAX非常适合于在多开发者协作项目中使用。Powerlink向EMC客户提供在线技术支持和资源。默泽内的团队开发了EMC的客户支持网站,已经开发了一个门户页面,来让客户输入自己备受困扰的问题,该页面还支持搜索功能和一些其它的企业功能。
在选择RIA平台的时候,Powerlink项目组共挑选了12个产品进行测试,其中也包括Flex,通过考察它们的编程模式和性能,最后该项目组选择了AJAX,因为他们此前已经使用Dojo工具包进行了一些开发,而这种经验让他们可以很快的轻松上手AJAX。
Dojo工具包是一个JavaScript库,通过预封装好的小工具和一个封装系统,让开发者可以更方便的进行模块化编程,使得创建基于AJAX的应用程序更加简单。默泽内表示,我们不可能招聘太多程序员,我们只能通过培训现有人员,让他们可以迅速开始项目开发,显然AJAX是最适合的选择。
该项目组选择了Backbase的企业AJAX框架,因为通过它能够以Java的方式来开发AJAX应用。这可以让默泽内和其它开发者使用自己所熟悉的开发模式,因为该产品以一个Java库的形式展现自己。默泽内表示,他的团队过去使用工具来管理和开发Java代码。他表示,那些工具并不总是可以直接适用于JavaScript,而该团队使用Java的工作效率要比使用JavaScript更高。他表示,“我们正在使用Dojo工具,它可以让你处理JavaScript,但是我们发现这并不是人们所熟悉的方式,它给开发带来的结果和所消耗的时间非常难以预测,因此Backbase的企业AJAX框架更适合我们。”
AJAX开发需要付出更多
默泽内表示,如果把AJAX与Flex、Silverlight和其它RIA平台相比,它的优点在于更稳定,很少带来客户端问题。这些问题是任何现有技术都存在的问题,这些问题多数情况下不一定是服务器宕机之类的问题,更多的情可能是,用户在访问网站时,自己的计算机上发生一些莫名其妙的问题。他表示,“我们在使用AJAX创建应用是,碰到过不少类似的情况,不过多数都比较容易解决。”
米克表示,一个AJAX开发者要想创建像具有Flex应用那样丰富体验的应用,需要付出更多艰辛的编程工作。原因是Adobe公司已经花费了大量的时间来将其应用程序模式放到其Flex组件框架中。
据米克估计,一个开发者花费7到10分钟的时间就可以在Flex中创建一个数据视图,而在AJAX中完成这样一个任务,则可能需要花费几天的时间。这是因为Flex应用运行在播放器自己的运行时中的Flash播放器内,而AJAX应用则运行在浏览器中,并使用浏览器的内存过程。
尽管AJAX应用相比Flex应用更轻量级,但后者可以提供更强大的性能,米克如是表示。“如果我创建一个应用,它具有一个仪表板,需要反复的移动和操作数据,我会更喜欢使用Flex来创建它。但是我认为,AJAX的优势在于扩展Web,使其更接近于桌面软件。”
尽管AJAX存在的时间要比Silverlight和其它平台长的多,但是某些开发者表示,AJAX花费了更长的时间来走向更加成熟,因为它缺乏一个像Adobe和微软这样的推动者。诸如OpenAjax联盟这样的开源项目和组织一直在推广该技术,但它依然缺少一个强大的机构来以一致的方式来塑造它。据米克表示,缺乏一致性已经阻碍了很多企业使用AJAX。
米克表示,“对于企业客户来说,如果我们向他们推荐一个AJAX库或框架,有时候带来很多烦恼。如果两年后,类似JavaScript库script.aculo.us的东西没有了,开发团队怎么办?这或许并不是一个很大的问题,但是企业股东可能会比较厌烦那些几年后就不被支持的东西。”
默泽内指出,某些公司已经通过数据打包传输的方式来寻求简化AJAX应用所需的代码编写,这样但一个Web页面停下来后,数据可以在客户端和服务器端进行传输。他认为这种数据打包传输的方式可以让编写代码更简化。
米克表示,尽管AJAX或许不适合创建复杂的Web应用,但是去年9月份谷歌推出的开源浏览器Chrome,或许可以帮助它弥补这方面的不足。
在Roundach看来,AJAX的一个问题是,如果用户需要能够向其创建的应用中加载5000行以上数据,则不得不放弃AJAX,因为它不能处理所需的数据量,但是一个像Flex这样的平台可以非常好的完成这个任务。不过默泽内表示,Chrome对JavaScript应用具有独特的处理方式,它可以将不同的应用单独放到不同的内存过程中,这样可以创建更多更稳固的JavaScript应用。
米克表示,“如果浏览器出现异常并崩溃,那么我可以关闭它,并不会影响其它应用,AJAX现在更加令人激动,因为它可以比以前更加强大。我希望其它浏览器也能和谷歌Chrome浏览器一样,采用它处理JavaScript过程的方式。”