蓝色汗水最近一直推荐我看一些网站——正天有的看了,有的没看。汗水一直强调前台的各类炫技术,其实他不是做开发的,对有些东西概念是很模糊的。
首先Ajax不是一门开发语言,实际上Ajax与Web 2.0有点相似,都是一种解决思路。网易学院和5D教程里都有比较入门的解释,贴个网易学院的链接(那里比较浅显,5D里比较偏实例)。简单的说Ajax是一个集合:
- XHTML和CSS
- 使用文档对象模型(Document Object Model)作动态显示和交互
- 使用XML和XSLT做数据交互和操作
- 使用XMLHttpRequest进行异步数据接收
- 使用JavaScript将它们绑定在一起
这样实际上,任何web开发语言都可以实现Ajax。其中的重点为“使用XMLHttpRequest进行异步数据接收”,也就是无页面刷新的原理所在。
Ajax应该突破了传统HTML的限制,很大程度上使得web可以取代桌面客户端——比较典型的是,目前很多公司的办公自动化系统(OA)都是采用无客户端的方式了。但对平头老百姓,最常用的其实是迅雷web版吧。
但Ajax也不是万能,如有朋友写的《Ajax十宗罪》其实写的很中肯。其中我个人认为比较麻烦的是三个问题——1、页面闪烁,2、浏览器速度慢,3、新的使用习惯。
这几个问题,我们都能在实际网络生活里遇到,比较典型的如网易blog,大量采用AJAX,一登陆就传出非常让人讨厌的咔咔声,有时候还会闪屏……更令人发指的是居然有时会猛吃CPU效率和内存……
至于新的使用习惯就不用说了,比如5D管理中心里左边的菜单实际是可以拖拽的,但知道的人几乎没有——当然这与没有帮助说明有关,但也揭示了另一个问题——这东西不够简单。
汗水推荐的站点,其实我大都观察过。怎么说呢,还是网龄时间长的用户使用起来更方便。对于初级用户,简直是无法理解。
所以是否要全面采用ajax真是应该好好思考下,何况FLASH 9的出现与Apollo的越来越近,开发者实际拥有更多的选择。