上次我关注了一下Ajax,今天猛禽就给了我一个链接:AJAX的七宗罪
虽然我对Ajax认识不多,而且不做网站所以说的话也不够权威,但是我还是认为嘟嘟对Ajax的理解有问题
就跟现在流行的网站重构争论一样,会有人跳出来说这个效果那个效果你用div+css用标准Javascript做不到,我用table用IE专用属性就很容易。但是有一个问题:网站的目的是什么? 是为了炫耀效果还是为了提供信息?
诚然我们用了div+css之后效果方面也许不如IE-only的页面,但换来的是在所有平台上对所提供信息的正确展现。这就是网站的真义
现在的Ajax也一样。
说到链接,首先我们要搞清楚的一点是:链接是做什么用的?
另一个问题是:信息应该如何提供?
我们先来看第一个问题,链接是做什么用的。我认为链接的最重要的作用是:提供到另一个信息位置的指向。举个例子,比如Gmail里,帮助就是一个单独的信息,一个和Gmail应用本身独立的信息。因此,Gmail里理所当然的提供了一个指向帮助的链接。但是信件本身以列表方式还是以全文方式呈现,这只是一个表现方式而已,都是属于Gmail这个应用本身的,为什么一定要用链接来完成这种工作呢?
另一个问题是,信息应该如何提供。信息提供的方式自然有很多种:XML、HTML、二进制……等等等等。目前最有利于搜索引擎的自然是静态的HTML文本,但是,HTML真的是数据表达的一个最好途径吗?显然不是,因为HTML里夹杂了表现信息,而且无法清晰的表现信息本身的含义。从这一点上来说,XML显然好得多。Ajax的目标是将信息本身以XML表达,从而将数据表现和信息数据本身分离开,这正是将信息标准化、有序化的一个途径,面对更标准更有语义的XML,需要修改的是搜索引擎,而不是XML方法。
当然,用非XML的方式从服务器得到数据,不是说不可以,但是在一定程度上就弱化了数据标准性,那样就真的是“搜索引擎不友好”乐
Ajax并没有破坏标准,相反的它是将现有标准融合在一起的一个很好的尝试。那个XMLHTTPRequest问题是因为没有标准,没办法。至于Javascript的调试问题,那个只是一个开发工具初级阶段必然的状况。就表提乐
有人说:貌似JS已经是有N年历史了,为什么就没人肯像样地做一个JS开发工具呢?
这是因为以前人们一直认为Javascript是一个“轻量级的小东西”,现在发现它的价值乐
实际上,如果再发展下去,就算没有Ajax,Javascript的地位还是会得到提高的。比如SVG,没有Javascript去操作DOM,意义和实用价值就降低很多。 到时候不怕没有Javascript的专用开发工具诞生
BTW:我认为Dux2005.org这个站点用Ajax用得有点过了,那些tab点击我认为应该用链接来表现的。
而这个站点为什么需要用链接来表现呢,需要数据的话可以用rss来提取啊
BTW2:Google Maps我没有看过,但我认为Gmail真是Ajax的典范之作。它把数据、信息、操作、表现之间的分离和合作控制得非常好。该链接的地方就链接,不该链接的地方坚决没有链接(比如“帮助”和“设置”这两个,虽然样子差不多,但是一个有链接一个没有)。而且你想得到数据的话,还有一个RSS源可以提供给你。
我觉得以后的网站就应该是这样。用Ajax构建“应用”,用RSS提供“数据”