English

Web开发图书撷英(之三)

2007-06-13 来源:中华读书报 作者:主持人 雷厉风 我有话说

先交流一下最近发生的几件事。

5月份又有一位我们曾经介绍过的作者获得荣誉。这就是《深入理解计算机系统》一书的作者、卡内基―梅隆大学计算机科学学院的院长Randal E.Bryant。他获得的奖项是IEEE(国际电子电气工程师协会)颁发的Emanuel R.Piore奖。这一奖项以IBM前首席科学家Piore命名,每年颁发一

次,奖励对与计算机科学相关的信息处理领域做出杰出贡献的个人或者两人小组。评选委员会中有“龙书”《编译原理》的第一作者Aho和台湾清华大学前任校长刘炯朗(他所著的离散数学教材对国内影响深远)等。此前的获奖者多为Hamming、Niklaus Wirth、Thomson & Ritchie、Sutherland、Allen Newell这样的图灵奖得主,可见成色不凡。近年来偏重硬件和设计等领域,获奖者有RISC先驱John L.Hennessy(与Patterson合著了两本计算机体系结构和组成方面的权威教材)、容错计算先驱Brian Randell和Jacob A.Abraham、逻辑综合先驱Robert K.Brayton等。Bryant获奖的原因是“对计算机辅助电路设计与验证领域(包括有序二叉判定图的开发和传播)的开创性贡献”。

在技术方面,5月份最引入注目的动向,要数各大公司纷纷发布了自己的RIA技术方案。这一领域开始正式进入硝烟弥漫的时代。这不,Adobe的Flex和Apollo才引起开发人员的注意,微软功能超群的WPFOE以讨好设计师的Silverlight(银光)为名紧接着发布了,没过几天,Sun又发布了JavaFX,而Google也借开发者活动日的机会,发布了Web应用离线技术Gears,还有Yahoo!的Pipes,微软的Popfly……另一个应该注意的动向,是以前并不是主流的各种动态语言和函数式语言,近来消息不断,大有成为未来主流的势头。微软推出了CLR的动态语言扩展DLR,同时发布了Iron Ruby,并计划将VB也动态化。国外出版界已经闻风而动,比如,以推广Rubyon Rails而一炮打红的Pragmatic出版社,即将推出一本讲并发能力出众的Erlang语言的书,并视之为“The Next Big Thing”;O’Reilly则选择了Haskell,在酝酿采取网络的方式出版“Real World Haskell”;更早一些,Apress出版的CommonLisp的书已经获得了Jolt奖……

动态消息介绍完毕,下面我们转入Web专题。

本文第一部分只是简单地讲到Web标准。从已经收到的反馈来看,还有不少读者对此了解不多,因此这里再多说几句。Web标准其实不仅是指万维网联盟所制定的推荐标准本身,还包括由WaSP(Web标准计划)组织所提倡的Web设计最佳实践。当然,许多实践是蕴含在标准之中的。当今,Web设计的大趋势是内容(网页中的实际信息)、结构(由HTML负责)、具体表现形式(即所谓presentation,由CSS控制)和行为(页面中的动态部分,由JavaScript和DOM实现)的分离,这样能够大大提高效率、易用性、兼容性和可维护性。目前的主流标准HTML4(4.0和4.01的总称)和XHTML1恰恰反映了这种趋势。在此大背景之下,我们曾经非常习惯的大量HTML标签比如、以及很多标签的属性因为主要是用于表现,而在新标准中已经不再提倡使用(deprecated),由CSS中的功能所替代(具体情况请在Google中搜索“HTML Reference”)。因此,在选购HTML方面的图书时,首先就需要注意图书作者是否有Web标准的观念,如果他还在大谈特谈行将废弃的那些标签,还在大谈特谈如何用表格布局,而Web标准的观念淡薄,请马上扔掉。

补充一下,HTML方面最近清华大学出版社出版Chuck Musciano等著的《HTML&XHTML权威指南(第六版)》值得推荐。这是一本比较全面的手册类工具书,讲解了所有HTML标签,包括已不提倡使用乃至早已过时的古老标签,和各种主流浏览器对HTML的各种扩展,同时总结了各种浏览器对各种标签及其属性的支持情况,查询起来比较方便。原版属于经典之作,不过,虽然作者的原意是以教程为主,但由于缺乏足够的实例,又有些过于求全(其中讲XML和CSS的章节有些画蛇添足的感觉,说了一点但是不透,不尴不尬),最后还是成了参考书。初学者还是建议从本系列文章之一《HTMLXHTML与CSS基础教程(第6版)》和《深入浅出HTML与CSS、XHTML》之间进行选择。另外一点遗憾的是,翻译已经是改版(曾经出版过第5版),似乎仍然存在不少问题,比如将CSS的cascade译为“级联”而不是标准已经规定且大家也已经习惯的“层叠”。这还是小的,最后一章章名中将hack译为“微妙”,可真是很微妙了。

好了,我们沿着“Web标准→可用性→HTMLOXHTML→CSS→XML→Java Script ODOM→Ajax→服务器端技术”这一路线继续前进。本期我们要介绍的是Java Script和DOM方面的图书。

DOM和Java Script

对初学的读者解释一下,DOM实际上是一个API规范。它定义了一个树状的对象层次结构,包含很多接口。本质上DOM是在程序中用来动态控制HTML和XML等格式文档的一种标准方式。就客户端开发而言,我们主要关注的是针对HTML文档由浏览器实现的DOM。历史上,各浏览器都曾有过自己的专有对象模型,互不兼容,但到2005年,主流浏览器都已经比较好地支持了DOM,Web程序员因此获得了一件强大的武器。

JavaScript是浏览器端编程的天然语言,所以客户端Web程序员必须熟练掌握。(微软的IE虽然曾经支持过VBScript,但这种平台专有语言因为无法适应要求无所不在的Web时代而不可避免地衰落了)同样出于这个原因,Java Script与DOM有着天然的联系。因此,讲JavaScript的书必然要涵盖DOM的内容,于是,专门讲述DOM的书少而又少也就容易理解了。

巨著

与其他语言一样,Java Script也有自己的“倚天剑”和“屠龙刀”。这种层次的书一旦能读通一本,并多加实践,你就大可以放心地宣称自己已经不再是初学者,而且很有可能已经跻身于高手行列――常见问题不再难得住你了。比较公认的Java Script巨著有以下三本。

JavaScript权威指南(第五版影印版)(即出)David Flanagan著东南大学出版社ISBN:9787564107680118.00元

本书人送外号“犀牛书”。这是因为封面上有一只憨憨的犀牛的缘故。当然,能有动物绰号,在计算机图书中可是一种无上的荣耀(如编译的龙书、虎书,操作系统的恐龙书等等)。这大概也是O’Reilly公司选择木版动物画作为封面素材的深意所在吧。

从语言学习的角度来说,不少评论认为本书是不可替代的,全面而深入。作者的经验(作者的另外一本书《Javaina Nutshell》相信Java程序员一定听说过)和文笔,保证了阅读的流畅。不过这种教程加参考形式的大部头,可能也会有许多读者感觉性价比不高。毕竟,其中的一些讲述有些事无巨细了,而参考,现在用Google也许更方便,而且免费。

JavaScript宝典(第四版)(旧版)Java Script Bible Dan Goodman著 李真文等译电子工业出版社ISBN:7-5053-7165-799.00元

这本以Bible为名的书显然是犀牛书针尖对麦芒的直接竞争者:原版定价相同,都是49.99美元;篇幅上相当,都是1000页出头;作者同样很牛,在Web开发领域,Dan Goodman甚至比Flanagan还要权威,Web开发最好的工具书《Dynamic HTML:The Definitive Reference》就是他写的,下面我们还会推荐一本他写的实例性质图书。

在以前版本的竞争中,Goodman略处下风,所以今年新出的第5版,他格外卖力,除了书的内容大幅更新外,还在光盘中放入了23个附加章节和更多资源(10个完整应用程序、300个脚本程序等等),性价比陡然提升。

遗憾的是,本书在国内没有新版消息。这里列出的第4版出版时间是2002年,内容已经比较过时,而且书似乎也不太容易找到了。需要提醒读者注意,市场上另外有一本封面非常相似但标明袁建洲、尹?著的《Java Script编程宝典》,2006年出版,也是900多页,定价98元,但是,此“宝典”非Dan Goodman所著的“宝典”。对比目录甚至可以发现,在占绝大篇幅的参考部分,后者在很大程度上参考了前者。

JavaScript高级程序设计Professional Java Script For Web Developers"Nicholas C.Zakas著 曹力张欣等译人民邮电出版社ISBN:7-115-15209-859.00元

本书与前面两本书相比有许多不同,强烈推荐。原因在于,它所针对的主要是有编程经验尤其是熟悉其他面向对象语言的读者,而这正是国内目前想学JavaScript的大多数人的实际情况。书中对语言的讲解简明扼要但是深入(一章就讲完了语言要素,再一章讲完面向对象,另一章专门讲述继承,总共才一百页),重点放在贴近实际应用的“实货”上。毫无编程背景的读者可能会有些吃力,但是这恰恰符合了更多读者的口味。再加上价格的优势,本书已经成为目前市场上JavaScript图书中无可争议的明珠。

作者Zakas在Java Script领域造诣极深,是Yahoo公司的资深工程师。他还与别人合写了另外一本畅销书《Ajax高级程序设计》(人民邮电出版社)。

入门

有些令人奇怪的是,在今年以前,虽然Java Script方面的入门书出过不少,但是真要拿出来推荐,却很难找到合适的。对此,网上的读者评论说出了它们的通病:“不是没有谈到Prototype就是没有DOM结构,大概模式是:先讲语法,再讲一部分对象属性,然后就拿几个示例演示OK了。”不过,2007年受《Java Script高级程序设计》一书畅销的影响,国内出版社大大加强了同类图书的投入,情况已经大大改观。

Java Script DOM编程艺术DOM Scripting: Web Design with Java Script and The Document ObjectModel Jeremy Keith著 杨涛王建桥等译人民邮电出版社ISBN:711513921439.00元

本书是一本非常畅销而且极受好评的Java Script入门书,而且主要是围绕DOM来写的,很珍贵。作者JeremyKeith是国际知名的Web设计师,Web标准计划成员,而且是该组织DOMScripting任务组负责人之一。除本书外,他撰写的《BulletproofAjax》一书(人民邮电出版社)也已经成为名著。

需要注意的是,本书原本是针对Web设计人员而非程序员的,所以门槛放得比较低,讲解步幅很慢,而阅读体验很好。然而,这引起了国内一些习惯密集知识的程序员读者的非议。如果事先了解了这一背景,放平心态,就可以从中有所获益。作者对于Web标准的透彻认识,他提出的Hijax思想,都是非常有价值的。

JavaScript网页开发――体验式学习教程张孝祥 张红梅著清华大学出版社ISBN:7-302-09846-828.00元

作者是非常负责的培训讲师,曾经写过很受欢迎的Java教程。本书有自己的特色,很多地方是作者自己的经验总结,符合国人思维习惯,也有不少来自实践的东西。编排上包含了HTML和CSS的基础知识(3章),作为入门很合适,但是内容稍感不全。网上读者抱怨的不少,大概是因为作者的教学视频过于流行,而书本几乎是视频的直接对应,期望大,失望也大了。

JavaScript基础教程(即出)Java Script and Ajax for the Web,Sixth Edition(Visual Quick Start Guide)Tom Negrino,Dori Smith著 陈剑瓯等译人民邮电出版社

本书是Visual Quick Start Guide系列中另一部名作,也是JavaScript入门书中的佼佼者。门槛比较低,只需HTML背景即可。本书一对作者夫妇中,妻子Dori是Web标准计划程序委员会委员。本书特色在于足够全面,而且新,有两章讨论Ajax,并涵盖了JSON、Yahoo!UI库、Bookmarklet等最新技术。此外还反映了当前的最佳实践,比如将HTML、CSS和Java Script分别存放在不同的文件,这对于基础教程而言非常重要。我一直认为,从一开始就确立正确的观念和前进道路,才是学习的正道。

精通JavaScript动态网页编程王俊杰编著人民邮电出版社ISBN:978711515537569.00元

本书从目录上能看出《JavaScript权威指南》前面教程部分的影子,中规中矩,基本上都覆盖到了,但反映的新东西少,思想提取方面感觉有些不够。最后有好几章实例,算是比较有特色的,符合许多读者只想买一本书的需求。

JavaScript入门书中,读者还可以选择最近出版的《JavaScript入门经典(第4版)》(人民邮电出版社),是Sams Teach Yourself In 24 Hours系列中的一本,注重案例教学,估计符合很多读者的学习习惯。另外一本国外推崇的入门书是Java Script:A Beginner’s Guide,很简明,有评论说“想不看懂都难”。国内曾经出过前一版的中文版,但是翻译有问题,最明显的,是将eventhandler译为“事件句柄”。

进阶-经验

JavaScript由于长期受人误解,至今还没有出现Effective、模式这样层次的著作。国内已经出版的图书中,属于中高级的只能徒叹阙如了。这里推荐两本国外口碑极佳而且国内已经引进、即将出版的中高级图书。ppk谈JavaScript(即出)ppkonJavaScriptPeter-PaulKoch著人民邮电出版社

书名中的ppk是作者名字的缩写,单凭这一点,就足以说明作者的厉害了。他的名气主要来自著名的个人网站http://www.quirksmode.orgO。严格来说,本书内容还是比较基础的,主要关注怎样写好JavaScript代码,在什么情况下使用什么技术,以及各种技巧等等。设计师和开发人员都能从中获益匪浅。深入JavaScript(即出)Pro JavaScript Techniques John Resig著人民邮电出版社

本书是地地道道的中高级读物,可能也是目前最深入的JavaScript图书,它没有基础知识的章节,都是硬梆梆的实货:现代JavaScript编程,面向对象JavaScript,创建可重用的代码,调试和测试工具,非侵入的JavaScript,Ajax,JavaScript的未来……作者是著名的JavaScript库jQuery的开发者,这样的书,当然值得期待。正如本书译者所说:“JavaScript已经进入工业时代,你需要这本书来引导再积极开发更‘工业级’的JavaScript。”

范例

JavaScript范例性质的书曾经是市场主流,因为在大家认识到客户端开发的威力之前,大多数人只是将JavaScript看做实现一些小效果和小把戏的方式。时至今日,选择此类图书,需要留意代码的质量、作者对Web标准和现代实践的认识等等。毕竟网上现成的JavaScript源代码到处都是,胡乱攒一本书并不困难。

JavaScript精粹TheJava Script Anthology: 101 Essential Tips,Tricks & HacksJames Edwards; Cameron Adams人民邮电出版社ISBN:978711515999149.00元

本书出自著名的Web设计公司Site Point,是其著名的Anthology系列的一种。同系列中《CSS精粹》(人民邮电出版社即出)也是非常好的问答式范例型图书,值得推荐,上月对CSS范例介绍中遗漏了。全书主要由问题、解决方案和讨论组成,讨论中介绍了不少最佳实践,因此难能可贵。将其中的代码与以前到处可见的JavaScript程序比较一下,你就能体会这几年JavaScript的发展。同类型的书还有DannyGoodman的《JavaScript & DHTML Cookbook》第二版(电子工业出版社将出),也是一部力作,但原版尚未出版,中文版就更为遥远了。

工具书

Web开发人员参考大全The Web Programmer’s Desk ReferenceLazaro Issi Cohen等著 胡为君译电子工业出版社99.00元

本书厚达千页,主要篇幅就是HTML标签和属性、CSS属性、DOM方法、属性和事件、Java Script参考以及IE浏览器的一些专有扩展的参考汇编,确实很全。同样的内容网上也可以方便地查到(但以英文居多),可能还更新,更全,而本书又比较贵。所以是否选择购买,需要读者权衡自己的需求和能力了。其实,同类图书国外还有一本更为人称道的《Dynamic HTML: The Definitive Reference》(DanGoodman著),但新版本国内至今没有出版消息。

详解HTML & CSS& Java Script 语法辞典(日)大藤?,(日)半场方人编著,陈晓鑫译中国青年出版社ISBN:9787500673637 48.00元

日本民族有编纂辞典的优秀传统,字典大都有比较独特的编排。本书也体现了这一点,涵盖几乎同样的内容,篇幅却是前一本书的一半。

JavaScript长期被人误解,导致市场上好书总体比较缺乏,但是随着《JavaScript高级程序设计》一书畅销,这种情况预计将会很快改变。我们期待更多好书的出现。下个月我们继续推荐一些Ajax方面的图书。

手机光明网

光明网版权所有

光明日报社概况 | 关于光明网 | 报网动态 | 联系我们 | 法律声明 | 光明网邮箱 | 网站地图

光明网版权所有