2008-03-26
寻找 Ajax 力量的平衡点
Ajax 使 Web 创新成为可能,但同时增加了违背用户意愿的可能性。请记住,在向站点添加 Ajax 的同时,您也必须为用户修复它导致的任何问题。
渐进式增强 是一个 Web 开发战略,它能确保所有的内容和功能可用于所有的浏览器,但是也支持更加先进的 Web 浏览器利用 JavaScript 编程和 Ajax 创造更好的用户体验。为了帮助确保应用程序的设计能提供最好的体验,最好遵守渐进式增强的黄金法则:首先不用任何 JavaScript 代码开发,然后在站点开始运行后添加 JavaScript 代码。从根本上说,您构建一个基本的 Web 站点,让实际链接和表单都指向真实的 URL。然后,使用 JavaScript 编程和 Ajax 更改这些链接和表单的功能。
例如,假设您希望有一个评论表单能够使用 Ajax 提交评论,并能更新页面以在合适的位置显示评论,所有过程都不需要刷新页面。首先,像往常一样构建评论表单,不使用任何 JavaScript 代码,保证它能正常运行。接下来,向表单添加一个 JavaScript onsubmit 事件。表单提交时,使用 Ajax 将评论保存到服务器,使用 DOM 脚本更新页面。这样一来,对于不支持 JavaScript 语言的 Web 浏览器表单也能运行良好,对于更先进的 Web 浏览器将会运行的更好。
有些 Web 站点完全使用 JavaScript 代码和 Ajax 构建,我建议在任何情况下都应该避免这样做。构建这样的站点意味着将一部分潜在的网络人群排除在外,而且不仅仅是选择禁用 JavaScript 语言支持的用户。同时被排除在外的还有搜索引擎,以及在 Web 上进行搜索的人。此外,使用未经测试的设备和浏览器访问站点内容的潜在用户也被排除在外。请记住,对于纯 JavaScript 站点,最微小的 JavaScript 错误也会导致整个站点的损坏。如果有非 JavaScript 站点的支持,就可以确保不会阻挡任何潜在用户(和潜在客户!)访问您的内容。
總之,Ajax 彻底颠覆了开发人员构建 Web 应用程序的方式,其结果可好可坏。重点在于要确保选择在应用程序中包含的 Ajax 增强能提高用户体验。尽可能避免出现令人混淆的、不可预计的,以及让人失望的情形。对于许多开发人员,这些决策可能关系着公司的成败。
渐进式增强 是一个 Web 开发战略,它能确保所有的内容和功能可用于所有的浏览器,但是也支持更加先进的 Web 浏览器利用 JavaScript 编程和 Ajax 创造更好的用户体验。为了帮助确保应用程序的设计能提供最好的体验,最好遵守渐进式增强的黄金法则:首先不用任何 JavaScript 代码开发,然后在站点开始运行后添加 JavaScript 代码。从根本上说,您构建一个基本的 Web 站点,让实际链接和表单都指向真实的 URL。然后,使用 JavaScript 编程和 Ajax 更改这些链接和表单的功能。
例如,假设您希望有一个评论表单能够使用 Ajax 提交评论,并能更新页面以在合适的位置显示评论,所有过程都不需要刷新页面。首先,像往常一样构建评论表单,不使用任何 JavaScript 代码,保证它能正常运行。接下来,向表单添加一个 JavaScript onsubmit 事件。表单提交时,使用 Ajax 将评论保存到服务器,使用 DOM 脚本更新页面。这样一来,对于不支持 JavaScript 语言的 Web 浏览器表单也能运行良好,对于更先进的 Web 浏览器将会运行的更好。
有些 Web 站点完全使用 JavaScript 代码和 Ajax 构建,我建议在任何情况下都应该避免这样做。构建这样的站点意味着将一部分潜在的网络人群排除在外,而且不仅仅是选择禁用 JavaScript 语言支持的用户。同时被排除在外的还有搜索引擎,以及在 Web 上进行搜索的人。此外,使用未经测试的设备和浏览器访问站点内容的潜在用户也被排除在外。请记住,对于纯 JavaScript 站点,最微小的 JavaScript 错误也会导致整个站点的损坏。如果有非 JavaScript 站点的支持,就可以确保不会阻挡任何潜在用户(和潜在客户!)访问您的内容。
總之,Ajax 彻底颠覆了开发人员构建 Web 应用程序的方式,其结果可好可坏。重点在于要确保选择在应用程序中包含的 Ajax 增强能提高用户体验。尽可能避免出现令人混淆的、不可预计的,以及让人失望的情形。对于许多开发人员,这些决策可能关系着公司的成败。
评论
xml
2008-04-08
apoclast 写道
morris 写道
其實什麽事物都存在兩面性 用的好的話可以帶來莫大的好處 用的不好的話可以帶來災難性的後果
确实如此,但是建设强壮的javascript应用仍然不可回避,对js出错的情况要充分考虑,但是js本身也要做到万无一失,我指的是要求的标准上
js不像一般服务器端的OO语言,有着温馨的IDE温床,和通俗易懂的设计模式,所以良好的调试方法和测试机制,能够对构建良好应用起到非常重要的作用。
apoclast
2008-04-02
morris 写道
其實什麽事物都存在兩面性 用的好的話可以帶來莫大的好處 用的不好的話可以帶來災難性的後果
确实如此,但是建设强壮的javascript应用仍然不可回避,对js出错的情况要充分考虑,但是js本身也要做到万无一失,我指的是要求的标准上
morris
2008-04-02
其實什麽事物都存在兩面性 用的好的話可以帶來莫大的好處 用的不好的話可以帶來災難性的後果
dboylx
2008-03-28
AJAX往往业务粒度太细,如果一开始全部采用AJAX的架构设计,会给工作流的引入带来麻烦。
oec2003
2008-03-28
ajax好用,但不能滥用
apoclast
2008-03-27
我的站点就是全javascript构建,但作为一个程序员我认为应该保证自己的代码可靠,能够经受考验,任何差错都是不允许的,不给自己留后路
morris
2008-03-27
的確是這樣 這樣還可以節約不少時間
williamou
2008-03-27
"渐进式增强 是一个 Web 开发战略"
这个观点不错 ,
如果项目进度允许的话,应该是先开发一个非ajax的初步版本,
然后再进行采用ajax进行优化。。
但ajax的开发遇到问题,起码都有一个可用的版本
这个观点不错 ,
如果项目进度允许的话,应该是先开发一个非ajax的初步版本,
然后再进行采用ajax进行优化。。
但ajax的开发遇到问题,起码都有一个可用的版本
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 43815 次
- 性别:

- 来自: 深圳

- 详细资料
搜索本博客
最新评论
-
美国梦八夺冠已成定局了!
梦八队员的运动能力太强了,抢断和快攻水平一流,往往能在某一段时间打出小高潮,把比 ...
-- by suyulin6688 -
美国梦八夺冠已成定局了!
robbin 写道keshin 写道robbin 写道美国就快攻一招鲜,如果碰上 ...
-- by keshin -
美国梦八夺冠已成定局了!
keshin 写道robbin 写道美国就快攻一招鲜,如果碰上实力强劲,内线有高 ...
-- by robbin -
美国梦八夺冠已成定局了!
keshin 写道robbin 写道美国就快攻一招鲜,如果碰上实力强劲,内线有高 ...
-- by zxpole -
美国梦八夺冠已成定局了!
robbin 写道美国就快攻一招鲜,如果碰上实力强劲,内线有高度,外线防守又好的 ...
-- by keshin






评论排行榜