Edwin Aoki, AOL LLC的技术人员.上周三他在旧金山举行的Ajax经验讨论会上做了名为“真实世界中的Ajax”的演讲……
Edwin Aoki, AOL LLC的技术人员。他在去AOL之前曾在苹果公司和Netscape工作,对于用户界面开发经验丰富。他谈论了Ajax和丰富的因特网技术是怎样发展成熟到适用于现实世界。基于他的论点,SearchSOA与Aoki讨论了他在AOL的最近的工作,这包括执行会议的一个热点话题,“渐进增强”,它是由用于有限的浏览器的最简单的HTML开始的,慢慢成长为高端Ajax。这是一种服务于不同浏览器包括屏幕阅览器和移动电话的方式。他也谈论了关于Ajax和JavaScript要达到完全成熟所要做的,包括身份管理和支持数据保存。他说这些技术发展的下一阶段是他和Ajax领域的其他人员在Ajax经验方面将要面对的问题。
在AOL公司你在Ajax方面正在做些什么?
Edwin Aoki:我们拥有一个完整的团队,曾有段时间致力于基于web的动态的应用。一旦你有了自己的很好的想法,选择了你想用的任何工具,并落实了你的观点,那么能够将这些想法在真实世界中实施和部署的快乐的时刻就开始了。
在真实的世界中你有遇到什么特殊的问题吗?
Aoki:当我们谈论Ajax的时候,很多次的话题都是围绕性能和可访问性,在这里可访问性不只是定义为围绕屏幕浏览器和对在视觉上削弱的情况的支持等方面,除此以外还被定义为内容和服务可能会达到最广泛的用户,最多的浏览器的数目和最多的设备数目等方面。这的确是真实的,特别是当对象可能不是人的时候。对于许多那样的应用来说搜索引擎是一个巨大的对象。Ajax为此造成了一些特殊的挑战。
你正在做很多Ajax的工作吗?
Aoki:我们在Ajax方面拥有广大的支持。我们已经用Dojo [开源的JavaScript 工具包]完成了很多工作。我们有很多使用Ajax的产品。我们致力于Dojo工作已经有段时间了。我们以前的一些产品,包括我们已经发布的MyAOL,使用了Ajax来传入内容流或提高负载体验。我们还利用Ajax做渐进增强。
什么是渐进增强?
Aoki:它是这样一个概念;采用以XHTML[可扩展超文本标记语言]和微格式形式的原始语义内容通过一个提供给简单的CSS[串联式样式表]或性能较差的浏览器的层来显示,然后在那基础上用JavaScript和DOM [文本目标模型]创建更多的交互,达到可选式的增加和删除元素。
你通过渐进增强得到了什么?
Aoki:这个模型相较于传统的功能衰减的模型而言,优势在于你可以利用那个可访问性的宽广的概念创建更容易访问的站点。它们甚至可以在JavaScript关闭的情况下工作。他们也可以在移动浏览器上工作。即使你有丰富的媒体用户也并不会感觉到有什么不同。他们获得了对他们的输出模型来说最好的体验。而搜索引擎知道怎样能搜索到这个原型。这个帮套Ajax原型没有将它们分离出来。
所以它帮助搜索引擎找到你的内容?
Aoki:是的,事实上在我今天所做的演示中我展示了我们的视频集线器的一个老版本,它很大程度上基于Ajax。我们有好几万的完整版的电视节目,但是如果你去Google搜索,会发现根本就找不到,因为Ajax接口阻止搜索引擎查找到所有内容。
你是怎么做的呢?
Aoki:我们使用一些渐进增强的原则当然也有一些设计技术来浏览和重新设计它.我们回退回去做了很多Ajax工作,在没有妨碍主要内容的情况下使它变得不那么以使用PE为核心来驱动交互作用。
渐进增强模型做了什么使得搜索引擎可以找到内容?
Aoki:以前的情况是我们有非常多的内容是通过滚动条DIV罗列的。我们用XHR[XMLHttpRequest]从后台将内容放入DIV。因为我们有点匆忙的写作这个,当搜索引擎通过时它不解析JavaScript,所以它所能看到的就只有这个空的DIV而从来不会进入。
所以搜索引擎对内容是视而不见的?
Aoki:没错,因为我们将内容通过Ajax管道动态地放入。
现在它工作的怎么样?
Aoki:现在我们所做的是所有的内容以原始HTML的形式存在,如果你是一个搜索引擎或你是个文本浏览器或者你关闭了浏览器中的CSS和JavaScript,那么这就是你所获得的内容。但是它是一个凭借自身条件的非常易读,非常可视化的页面。然后我们在它之上应用一系列样式单,这样你就得到了一个更好的显示。如果你是一个具有电力不足的web浏览器的移动电话,那这就可能是你所看到的。如果你关闭了JavaScript,那你看到的也是这个显示。如果你在低于IE7的浏览器上关闭了ActiveX控件,那么你不能得到XML HTTP请求,你看到的会是这个显示。如果你将这些都设置为可用的,我们利用JavaScript来操纵DOM以便你得到flash,图片和所有的那些东西,但是他们是对体验的增加而没有减少过去的体验。
那么渐进增强是否是一个具有多种多样的能力的更好的获得浏览器的方式呢?
Aoki: 当我们谈论它的时候它总是引起一些小的争论,因为它和人们思考功能衰退的方式是相反的,你首先积累全面的体验,然后指出如果你没有完全的浏览器能力那么什么会失败。但是结论是渐进增强是非常有利于搜索引擎的。很显然,它确实有利于对解析JavaScript有困难的屏幕浏览器。而且它也表现出对性能很有帮助,因为它产生了更为清晰的标记和隐蔽性更好的JavaScript,这是因为你的JavaScript与你的内容之间是更为独立的。它给予了你一个很好的编程模型。
AOL的开发者主要使用JavaScript吗,还是你们也用PHP和Ruby?
Aoki:我们每种都用一点。我们的一些产品是构建在Ruby on Rails上的。我们还有一些PHP的内容。我们的团队倾向于选择他们觉得最适合他们特定的工作的工具。
在过去的一年,有些谈论说JavaScript是 Ajax的脆弱的一环,你的体验是什么?
Aoki:它确实有改进。在IE7和Firefox2还有Safari3中完成的工作使得为JavaScript提供的完整支持好了很多,但是在我今天的演示中我们讨论了浏览器厂商所作的工作,去年同行已经基于像
Dojo和Prototype [JavaScript框架]还有Script.aculo.us [JavaScript库]这些东西做了很多工作,但是它还没有完成。还有一些基础部分是我们感觉与一个功能完善的web开发环境相比所欠缺的。我们想和同行还有其他与会的人们共同合作来充实这些部分。
你希望看到JavaScript的哪部分得到改进?
Aoki:像身份管理之类的。我们有个做身份管理的API叫做开放验证。我们认为它功能很完善。它集成了OpenID[单点登录技术],但是它没有构建到任何框架中去。它并不和Ajax所接受的档案模型一起工作。我们没有做这个的框架。通信也一样。我们有一个非常好的基于web 的即时信息平台,我们正在将其扩展为一个基于web的数据缓存平台,但同时你还是要选中它,把它放到一起。正在构建的块也是相当粗糙和原始的。我们想和做Dojo,Prototype 和Script.aculo.us方面的人合作创建一个环境,你可以依赖这个环境中的服务,并且你可以只关注你的应用要做的事情而不用关心存储,身份或是怎样向前向后传递数据。这就是Dojo和其他框架在客户端所做的工作,但是我们认为下一个阶段就是使它们和我们自己和其他人提供的一系列后台服务一起工作。
那就是你认为的在Ajax成长方面的下一个阶段?
Aoki:它如此重要的一个原因就是它已不只是关于建立新的web应用。同样的模型将用于桌面部件和像Google那样的集合环境。那是Nintendo Wii的开放环境。它是适用于移动的唯一的开放环境,无论是掌上IE或是Nokia SE还是Apple iPod。一旦你们了解了Ajax是第一种适用于这些平台的开发环境,那么你们立刻就达到了一个共识:它将开启人们想将这些后台工具和安全,节奏和以便人们可以获得关于他们的应用的分析而构建在内的测量系统结合起来的想法。那就是我的主题。事实上它已经无处不在了。我们已经走了很长的路。我们在AOL遇到并努力解决很多这个领域中的每个开发者都遇到并努力解决的相同的问题,但是目前我们还有很多的工作要做,也有很多的机遇在等待。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
中小企业如何选择BI方案
BI平民化浪潮正在使BI走下神坛,那么,中小企业应该如何构建自己的BI战略呢?采用BI技术在企业战略方向中占据重要地位。只要信息、数据……
-
快速、简便的使用AJAX技术操作的三部曲
其实AJAX并不复杂,自从AJAX技术出来后,天花乱坠的框架纷纷出台,搞得技术开发人员无从下手,baidu google里也有很多例子,大都是非常复杂……
-
在ASP.NET中使用AJAX的简单方法
也许大多数人已经知道AJAX的意思是异步JavaScript和XML(Asynchronous JavaScript and XML)。据我所知,这项技术最初是由Microsoft在1999年提出来的……
-
使用Ajax和jQuery改进现有站点
本文是使用Ajax改造现有Web站点系列的第一篇文章,将展示如何使用简单的模式窗口(modal window)消除弹出窗口和导航死角。