论坛首页 Web前端技术论坛

循序渐进学习 Ajax 的途径

浏览 40317 次
该帖已经被评为精华帖
作者 正文
   发表时间:2005-06-14  
现在浏览器端以 JavaScript 为核心,基于各种 Web 标准(即:早已完成标准化的 XHTML/CSS/DOM/XML/XSLT 和正在进行标准化的 XMLHTTP)的技术正在加速整合,Ajax 就是这一系列技术的一个统称。
虽然网络上已经有大量的相关资源,但是为了打好基础,认真读上几本书还是很有必要的。好在 Ajax 并不是什么全新的技术,它仅仅是传统技术的发展和增值,是对于这些基于 Web 标准的传统技术的重新包装,使其更加适合于企业应用,并且和服务器端结合地更加紧密。因此学习 Ajax,首先就要从深入学习这些传统的技术开始。
我由浅入深地列出一些我读过的书籍,提供给大家做参考:

1、XHTML 教程(XHTML)
作者:Chelsea Valentine, Chris Minnick
New Riders 原版,人民邮电出版社中文版
是的,今天你最应该学习的是 XHTML,而不是 HTML。HTML 4.x 已经是一个被废弃了的标准,今天的标准是 XHTML 1.0。XHTML 1.0 也不是 XHTML 最新的版本,但是它是目前唯一得到浏览器广泛支持和唯一实用的 XHTML 版本。

2、JavaScript 权威指南第四版(JavaScript: The Definitive Guide)
作者:David Flanagan
O'Reilly 原版,中国电力出版社中文版
JavaScript 爱好者亲切地称之为“犀牛书”,因为 O'Reilly 以犀牛作为这本书的封面。这是目前 JavaScript 领域最深入和最权威的入门书。与其它 JavaScript 相关书籍的区别是这本书一半以上的篇幅着重于深入介绍 JavaScript 语言本身的基础知识,而不是象其它的书一样把基础知识和与 HTML 相结合做 Web 开发的内容(这些内容往往偏重于细节,使得其篇幅很容易就超出了 1000 页,例如《JavaScript Bible》)混杂在一起。对于刚刚开始学习 JavaScript 的初学者,这本书毫无疑问是最佳的入门书。

3、XML 高级编程(Professional XML)
Didier Martin等著
Wrox 原版,机械工业出版社中文版
这本书是关于 XML 开发技术非常详尽的著作。虽然因为作者众多(第一版 12 个人,第二版好像又多了几个),无法摆脱 Wrox 红皮书系列大杂烩的印记,但是这本书可以说是红皮书系列中少有的精品。
这本书可以作为 XML 技术参考书,虽然很厚,但是没有必要从头到尾全部读完。其中与 Ajax 相关的内容包括 XML DOM、XSLT 等等。

4、网站重构(Designing with Web Standards)
作者:Jeffrey Zeldman
New Riders 原版,电子工业出版社中文版
这本书详细地介绍了如何摒弃远古时代(按照我的理解,3 年以前吧)不符合标准,专门针对某种浏览器(90%以上的情况下是 IE)做开发的恶习,真正采用符合标准的方式来做开发,最终走上向后兼容(注意:不是与浏览器以前不能完整支持 Web 标准的版本相兼容,而是与浏览器以后的版本相兼容)的平坦大路上来。这本书虽然不是 CSS 的专著,但是其中充分展示了使用 CSS 的一些高级技巧。尤其是最后一章展示了完全基于 CSS 做布局,摒弃使用 table 做布局的老方法的具体做法。
非常遗憾的是这本书的中文版翻译的非常烂,如果不对照原文,很容易误入歧途。读这本书有任何疑问的朋友都可以直接和我联系。

上面列出的是与 Ajax 涉及到的技术相关的书籍。我没有列出 CSS 的书,是因为我并没有专门读过一本 CSS 方面的专著。附件是网上流传很广的 CSS 2.0 中文手册,可以作为这方面的参考。
读了以上这些书,你已经在技术方面打下了极为坚实的基础,你还需要有一个经常的讨论场所,JavaEye 毫无疑问是你最值得来的地方。

下面我再列出几本与技术没有直接关系的书籍。

5、面向使用的软件设计(Software for Use)
作者:Larry Contantine, Lucy Lockwood
ACM Press 原版,机械工业出版社中文版
大部分的软件都是给人使用的。我在 BEA User Group上的演讲中说到,Ajax 为什么会越来越流行,主要的原因就是它能比传统的基于 HTML FORM 的交互模式带给用户更好的交互体验,也就是 Ajax 可以实现更好的 Web 可用性(Web Usability,这是目前国外的一个专门的研究领域),这才是 Ajax 最大的价值。软件的可用性永远都是一个大的话题,《面向使用的软件设计》正是这方面最权威的专著。我们只要在做最终用户直接使用(有一个可视的界面)的软件开发,提高可用性就是我们需要孜孜不倦追求的目标。

6、软件创新之路(Inmates Are Running the Asylum)
作者:Alan Cooper
Sams Publishing 原版,电子工业出版社中文版
7、About Face 2.0
作者:Alan Cooper
John Wiley & Sons 原版,中文版即将出版(今年之内?)
上面两本书都是交互设计大师 Alan Cooper 的名著,相信很多朋友都知道 Alan Cooper 的大名,这两本书是交互设计爱好者必读的著作。
   发表时间:2005-06-17  
Ajax 基于以下的技术:
standards-based presentation using XHTML and CSS;
dynamic display and interaction using the Document Object Model;
data interchange and manipulation using XML and XSLT;
asynchronous data retrieval using XMLHttpRequest;
and JavaScript binding everything together.

这说明,Ajax 本身虽然没有标准,但是 Ajax 基于以下的 Web 标准:
XHTML/CSS/DOM/XML/XSLT/JavaScript(ECMAScript),还有一个 XMLHttpRequest 目前正在进行标准化。
这些基于 Web 标准的技术目前都已经很成熟了,Ajax 是所有这些技术的集合,因此 Ajax 并没有必要再发明一个新的标准。
0 请登录后投票
   发表时间:2005-06-26  
怎么感觉像卖书的
0 请登录后投票
   发表时间:2005-07-22  
About Face 2.0 中文版我已经拿到了,书名为《软件观念革命——交互设计精髓》。

感兴趣的朋友可以在网上订购
http://www.cnforyou.com/query/bookdetail.asp?viBookCode=17468
或者到书店购买。
0 请登录后投票
   发表时间:2005-08-05  
循着dlee的推荐,我用两天的时间略读了《网站重构》,如果逐行逐句的阅读确实是一个不小的折磨

关于web标准大致以前都看过相关的资料,但书中将web标准来龙去脉的阐述让我有了更为细致的了解。

书中实际指导的章节不多,主要集中在最后几章,而且也是泛泛的解说,建议要阅读书中举例的站点源码来加深理解。

书中所针对的状况是2003年的web环境,当时ie5,ns4还有不少的用户。时间到了2005年的下半年,ie7和firefox1.5推出在即,书中所强调的一些技巧和注意事项有些可以忽略了。时至今日,我觉得已经可以放开手脚按照严格的web标准开发网页,适当兼容ie5应该满足internet和intranet 的需求了。

我更想说的是,开发网页的态度,我想大多数的程序员都不屑于最基础的web网页的开发,而单纯的美工大概也没有研究web标准的兴致。刚开始我看到国外的web程序员热烈的讨论 Image Replace ,我会觉得有些无聊,从书中我才明白原来 他们不仅仅是为了得到一个图片替换的效果,还尽可能的去兼容不同平台的古老的浏览器版本,同时还要照顾到残疾人利用screen reader 也可以正常访问。我想这也是一种态度,一种以用户为本的态度。也许这个态度不为boss或者正为进度头痛的项目经理赞赏,但做为开发web的个人,仍应该树立这样的态度。 Ajax 被关注,也是大势所趋。它告诉我们,界面和功能一样重要。
0 请登录后投票
   发表时间:2005-08-05  
醒来 写道
我想这也是一种态度,一种以用户为本的态度。也许这个态度不为boss或者正为进度头痛的项目经理赞赏,但做为开发web的个人,仍应该树立这样的态度。

出现这种情况有两个原因:
1、最主要的原因,国内的客户的信息化经验太少,容易被开发方牵着鼻子走。他们并没有意识到得到更好用的软件是他们的合法权利。往往在发现软件存在可用性问题的时候,已经人走茶凉,钱已付过,开发方这个时候往往对于客户的修改要求敷衍了事。美国的企业/政府的信息化早在上世纪 70 年代就开始了,他们在使用软件的过程中积累了大量的经验,非常清楚自己究竟需要什么样的软件,不容易被开发方牵着鼻子走。
2、商业竞争还不够激烈,开发方还没有充分意识到改善软件可用性所存在的商业价值,仅仅满足于做出符合功能要求的软件。他们也缺乏这方面的知识和指导,不知道如何做好这方面的工作。我的朋友 Windy 专门做这方面的咨询工作,现在已经获得了生意,这说明我们的软件企业正在取得进步。

另外,相关的法律环境也有很大的影响。美国有 Section 508 来促进软件的可用性。做政府的生意,这些法律条款是必须要满足的。

如果我们的软件开发一直在这种急功近利的状态下低水平发展的话,那么我们的软件行业是没有希望的。软件开发对于我们也不是一个有吸引力的工作,我们可以考虑明天去做点小生意,也许有希望赚到更多的钱。没有时间是一个堂皇的理由,似乎仅仅这一个理由就可以完全忽略掉改善软件的可用性的努力,可以完全忽略掉单元测试,可以完全忽略掉...... 很多开发团队甚至没有一个象样的版本管理系统,原因也是因为工作太忙,没有时间去研究。没有时间,一个搪塞掉一切进步的好理由!

但是还有一句老话:磨刀不误砍柴功。
0 请登录后投票
   发表时间:2005-08-05  
急功近利是目前的通病

很多xxx网站都是仅仅支持ie的,更不用说支持残疾人了

开发的时候也根本就不考虑这些,因为时间根本不容许.
0 请登录后投票
   发表时间:2005-08-05  
scud 写道
开发的时候也根本就不考虑这些,因为时间根本不容许.

错,支持大多数主流的浏览器根本就不要花费多少额外的时间,只要知道该如何做就可以了。
如果这是理由的话,那么只为 IE6.0 做开发,完全忽略 IE5.0 也是一样的理由。只为 IE6.0 做开发,用了很多并不符合真正 Web 标准的方法。如果 IE7.0 出来并且又与 IE6.0 存在着一些不兼容,是不是又要只为 IE7.0 做开发?那么 IE8.0、IE9.0 出来了呢?什么叫做向后兼容,思考过吗?从长远看,走哪条路的成本更低?
0 请登录后投票
   发表时间:2005-08-05  
我不是说我不考虑,而是说公司的大部分开发人员根本没有这个想法,ie一般支持到5.5就不错了

我倒是强调一定要兼容主流的浏览器,注重安全.但是项目往往是从一个旧项目上改改就发布了...我又不是主管,能说几句话就不错了.其他时候只好闷声大发财了...

当然我自己的东西还是要注意兼容性的,最近考虑把网站div+css重构试验一把
0 请登录后投票
   发表时间:2005-08-25  
看来还是忽略了基础的web开发,至少对这方面不够重视。不过对于一个项目来说很难在web的界面设计上花太多的时间,而且有时候项目要求不允许在jsp中嵌入任何scipt语言。

是该让项目经理换换脑子了
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics