您的位置:首页 > 其它

Ajax in action书评(1)

2007-12-10 19:07 267 查看
忘掉Web

现代Web浏览器和它最原始的出发点(从远程服务器上获得一个文档)相比已经完全不是一码事了,它们之间就像是瑞士军刀和新石器时代的狩猎工具一样,可谓是天壤之别。各种交互组件、脚本语言和插件,这些年来无法抑制地疯狂发展,近乎强制地一次又一次地创造着新的浏览体验

几年以前,一些先行者就已经开始把JavaScript当作一种严肃的编程语言来对待。但就整体而言,更多的人仍然把它和那些假模假样的警告框以及“点击猴子赢大奖”的广告一类的小把戏联系在一起。
浏览器大战导致JavaScript成了个被误解的、病态的孩子,Ajax可以看作是他的康复中心[6]。只要适当引导,然后给它配上合适的框架,JavaScript就很有可能变成因特网的模范公民。它能真正增强Web应用的实用性,而且不强迫用户安装额外的软件,或者逼迫用户抛弃自己心爱的浏览器。

。Ajax背后的技术有能力将Web页面转换成某种完全不同的新东西。早期Ajax的使用尝试使得Web页面开始变得像“木马轮”一样不伦不类。要领悟Ajax的精髓,我们就要忘掉Web的页面概念,也就是说,我们要打破这些年来所形成的经验。

传统Web应用的生命周期。用户和应用会话的所有状态都保留在Web服务器上。用户在会话中看到的是一系列的页面,每次页面切换都不可避免地要到服务器上走一个来回

Ajax应用的生命周期。用户登录后,服务器交付一个客户端应用给浏览器。这个应用可以独立处理很多的用户交互,对于自己无法独立处理的交互,应用会以后台方式发送请求给服务器,而不会打断用户的操作流程

Ajax的另一个好处是,我们可以对丰富的用户操作事件进行捕获。类似于拖拽这样的复杂UI概念也不再是遥不可及的。这使得Web应用的UI体验可以全面提升到近乎与桌面应用的UI组件相媲美的高度。从可用性的角度来看,这很重要,不仅仅是因为它释放了我们的想象力,而且也是因为它可以将用户交互和服务器端的请求更加充分地混合起来。

现在传统的Web应用有时候也会用到JavaScript,不过主要是用来给页面添加一些花哨的东西。基于页面的模型使得这样的增强没有办法更进一步,限制了用户可以得到的更加理想的交互。这种类似于第22条军规的状况,使得JavaScript很不公平地获得了一种琐碎的、自由散漫的编程语言的名声,为那些严肃的开发者[10]所不屑。
为Ajax应用编程的情况则完全不同。提交给用户运行的应用将会一直运行直到用户关闭程序为止。不崩溃,不变慢,也没有内存泄漏之类的毛病。如果我们的产品定位于独占式应用的市场,这还意味着很多小时的密集使用。要达到这个目标,当然需要高性能的、可维护的代码,这与服务器端应用的要求是一致的。
相比之下,Ajax的代码库会比传统的Web应用大很多。对代码库进行良好的组织是非常重要的。编写代码不再是单个开发者的职责,而是整个团队来参与。可维护性、分离关注点、共同的编程风格以及设计模式,这些都是需要考虑的问题。
从某个角度来看,Ajax应用就是用户所使用的一块复杂的代码,它需要高效地与服务器进行通信。它显然来源于传统的基于页面的Web应用,但是它们之间的相似性也仅限于此,两者之间的差别就像是木马轮和现代自行车之间的差别。在脑海中要记得它们之间的这些差别,因为只有这样才能创造出真正引人注目的Web应用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: