第1篇 Ajax入门
第1章 Ajax简介
1.1 传统网站设计上的优缺点
传统网站的运作机制与架构都是建立在HTTP上的。HTTP是个简单的协议,自然会有许多限制存在,不管是利用CGI、Server Side Script(PHP或ASP等)来设计任何网站,都必须限制于HTTP一个请求(Request),然后一个响应(Response)的设计。在WWW刚起步的阶段,这样的设计并无不妥,浏览器的“上一页”、“下一页”及“历史记录”(History)的功能也都是因此而存在的。
但是随着网站的应用越来越广,甚至已经有越来越多的产品不再使用传统Windows的使用界面,而是以网页来操作产品,我们就有必要来重新思考,目前的网站设计存在着什么缺陷。
1.1.1 等待时间
现在多数网站背后所要做的事情包罗万象,CGI或Server side Script处理需要时间,单击超链接后就会产生一段等待时间。虽然说网站可以利用与后端数据库整合,提高服务器的等级,或者改善整体服务的程序架构等办法缩短等待时间,但是一段不少的时间仍是不可避免的。
1.1.2 页面刷新
正如前面所提到的,HTTP的设计是返回整个新的页面,所以在浏览器上就必须刷新整个页面来显示新的页面如图1-1所示,这样的设计会有几个缺点。
(1)页面的刷新会带来一种不流畅的感觉,用户每次单击后都使页面清空再重来,这样的用户界面设计基本上来说并不合理,或许可以利用其他HTML的技巧进行改进,如框架(Frame)的使用,但是可改进的空间并不大,甚至会带来其他缺点。
(2)如果想要设计一种会动态更新的页面,例如,动态显示所有上线用户数,传统做法都是做个框架(Frame),利用更新(Refresh)的方式来定期更新该框架中的数据,但是这种做法的*大缺点是造成页面的闪烁。正如前面所提到的,浏览器每次收到网站服务器的响应时,都是先清空页面再重新显示,所以当更新的频率快到某种程度时会给用户一种闪烁的感觉,这是不太合理的用户界面设计。
(3)上一页、下一页的操作。其实严格来说,笔者并不认为网页“上一页”和“下一页”的设计不好,相反这是可以让用户随时查看过往记录的好工具。但是在复杂的网页设计中,如果对浏览器的“上一页”、“下一页”没有好的设计,就会给用户带来不便。
举例来说,可能大部分用户都有这样的经验,当使用某些有搜索功能的网站输入了搜索的关键字符串后,浏览器上出现了一堆相关的数据,因为数据众多需要进行分页,在浏览的过程中需要不断地单击“下一页”,但是当你再使用浏览器的“上一页”功能时,浏览器可能会重新弹出一个窗口告诉你要再次发送信息。不过即使单击了“确定”按钮,所产生的网页还可能会出现“请求超时”等错误消息,而这些不愉快的体验,也往往让用户在使用“上一页”功能时疑虑再三。
但是利用网页作为用户界面还是有很多优点的,*主要的优点是开发时间短,容易开发(开发环境及语言繁多,***可以挑选自己熟悉进行开发),容易在不同平台间互相兼容;而对于一般软硬件的管理界面来说,网页式的管理也利于远程管理,同时因为HTTP也是广泛使用的标准通信协议,用HTTP不需要考虑穿透防火墙等棘手的问题,所以多数网络设备都是以HTML加上HTTP的组合来开发网页界面的,而**性的问题也由HTTPS来解决,所以当用户使用网页作为界面时只需要考虑数据及页面即可,是非常方便的。
1.2 其他替代方案
如果在网页上开发用户界面,还有哪些替代方案呢?其他替代方案很多,这也是网页的另一个优点——扩展性高,目前在WWW上有很多各式各样的浏览器插件(Plug-In)来弥补原本HTML的不足,其中使用*多的应该是Flash和Java Applet。
……