English

Web开发图书撷英(之四)

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

先对本系列前面几篇中的内容做一下更新。来自各出版社的消息,本系列前几篇中陆续推荐的人民邮电出版社三大经典入门教程:《HTMLXHTMLCSS基础教程(第6版)》、《CSS基础教程》和《Java Script基础教程》都将在本月上市。而第一篇中“可用性”部分介绍的《Prioritizing WebUsability》一书中文版《网站优化》也已

经在网站上打出广告,即将由电子工业出版社出版,应该是全彩印刷。

RIA技术发展似乎开始进入如火如荼的阶段,这在上月的综述我们也已提到。的确,大厂商都在紧锣密鼓地推出新的技术和产品,要在未来战场占据主导地位。像Adobe的Flex,国外2.0的书也不过刚刚出版,而Flex3.0都已经有消息传出了。不过对于目前的趋势也有很多不同的声音,Rubyon Rails的创造者David Heinemeier Hansson(简称DHH)就是其中之一。DHH一贯以直言快语而著称,而且时有惊人之语。这不,对于RIA技术,他就看不惯。最近他在博客上狠狠批了这个如今最时髦的Buzzword(时髦词)。文章的题目非常响亮:“我就喜欢HTML/CSS/Java Script,那又怎么了?”他对于RIA技术阵营贬低HTML/CSS/Java Script的种种说法不屑一顾。他认为:现在Web基础技术以及浏览器支持都已经足够好了,而且程序员对Web技术的理解也今非昔比,使用现代Web应用框架、Firebug和新的JavaScript库,效果绝对令人满意;Web技术出自实践,并不追求无谓的完美,而且它们已经发展和经受考验10多年了;实际上,从用户体验的角度来看,开发人员还远远没有发挥出HTML的潜力;目前主要的网站和应用仍然很不令人满意,如果大多数程序员和设计师连走路还没有学会,就不应该急急忙忙地想风驰电掣地跑起来。

DHH的看法其实是非常深刻的。尤其对于国内的技术界而言更有清醒剂的作用。面对各大厂商抛出的目的不明的各种新名词,我们都有些无所适从的感觉。看来,Web开发人员应该都先问问自己了:“我对HTML/CSS/Java Script已经扎实、熟练地掌握,能够充分自由地发挥它们的潜力了吗?”如果回答不够自信,请参考本系列文章前面的推荐,重新好好练练马步,打好基本功。

时至今日,谈Web开发如果不提Ajax,那就显得太落伍了。所谓Ajax,从纯技术上来说,也许并没有太多新意,《Bulletpro of Ajax》的作者Jeremy Keith就将Ajax非常实用主义地定义为“在不刷新整个页面的情况下,用来自服务器的数据更新部分网页”,简言之就是部分刷新。它的几大支柱:用于结构的HTML/XHTML、用于表现的CSS、用于行为的Java Script/DOM和作为数据传输格式的XML/JSON都是现成的大家熟知的技术,稍觉陌生的用于与服务器端异步地交换数据的XML Http Request API(有些场合使用I Frame对象更合适)其实也不是新的――它是微软2000年开发OutlookWebAccess时的副产品,后来成为IE5.0的组件,直至2006年W3C才开始制定相关的标准草案。但是Ajax在思想和理念上带来的冲击,以及因此而引起的各种革新,其重要性怎么评价都不过分。这个在2005年2月才由JesseJamesGarrett提出的新词,短短数月就如火如荼,而在Google Maps、Google Suggest等标杆应用的推动下,它使更多的人认识到了看似简单的Web标准所蕴含的巨大威力,更使越来越多的人意识到Web应用可用性的巨大潜力。通往未来的大门已经向我们打开……

国内Ajax图书的出版始自2006年2月的《Ajax基础教程》,到2006年二季度达到高潮,主角当然是王者《Ajax实战》,但人民邮电出版社和电子工业出版社几乎同时出版的多本图书,也很好地起到了绿叶的作用。第二个高潮应该从今年二季度开始,电子工业出版社推出了三种进阶和实例性质的图书,人民邮电出版社也有多本ASP.NETAJAX和Ajax库方面的图书出版,这一高潮目前仍然没有结束。总的来说,Ajax和Web客户端开发方面的图书基本上是人民邮电和电子工业两强相争的局面。已经出版(近30种)和即将出版的Ajax图书整体水平较高,几乎很少见到其他领域常见的纯粹粗制滥造或者胡编乱造的烂书。下面选一些得到普遍认可的向大家推荐。

巨著

Ajax实战Ajaxin ActionDave Crane,Eric Pascarello,Darren James著 ajaxcn.org译人民邮电出版社ISBN 711514717569.00元

作为Ajax领域全球第一本书,时至今日,在已经出版的众多图书中(据我统计),本书仍然是最为全面和深入的一本,无人可以超越,实属难能可贵。

与我们介绍过的其他领域不同,Ajax领域只有一本圣经,那就是本书。它的桂冠很多,原版是2006年Amazon年度计算机图书销售冠军,在国内,中文版的销售短期内也非常惊人,被多家权威机构和媒体联合评选为2006年最受读者喜爱的十大IT图书之一。译者是国内著名的Ajax技术站点ajaxcn.org的诸位高手,在很短的时间内高质量地完成翻译,对Ajax在国内的推广产生了很大影响。主要译者李锟在译序中称本书为“大匠的杰作”,的确,书中对基础知识介绍细致而贴近实战,例子丰富而且精到,而且有对Ajax架构的深入探讨,并讨论了不少设计模式,无不体现了作者的深厚功力。

入门

Ajax基础教程Foundations of AjaxRyan Asleson, Nathaniel T.Schutta著 金灵译人民邮电出版社ISBN 711514481835.00元

国内第一本Ajax图书,据说销量在几个月内就达到2万多,对于Ajax技术在国内的推广可以说是居功至伟。到今天再看,你会惊奇地发现,本书并不像一般的急就章那样不复当年之勇,整体而言仍然是非常优秀的Ajax入门书,作者的功力可见一斑。正如有读者评论的:“技术书籍把简单的道理说复杂是很容易的,但是反过来把复杂的事情讲简单,可不是那么轻松的,《Ajax基础教程》却做到了这一点。”书的内容还是非常全面的,涵盖了Javascript开发中所需的各种工具和技术,而且示例代码质量很高。稍觉遗憾的是,由于国内总体对Web基础知识和Web标准的了解、掌握水平偏低,本书中没有相应的介绍HTML/CSS/JavaScript的专门章节,对于一本入门书而言,无疑是提高了门槛,会拒一些读者于千里之外。此外,本书有比较明显的偏重Java平台的倾向。

Web2.0开发技术详解王沛 冯曼菲 著人民邮电出版社ISBN 711514804X56.00元

国人的一部力作。与其他Ajax图书相比,本书的最大优点是并不假设读者已经有很多Web开发经验,而是用专门的章节讲述除HTML之外的几大基础知识。其中对JavaScript的讲解(有整整一个部分5章,可以算一本小书了)得到不少人的称赞。此外,最后9章的9个例子也充分体现了国内原创图书物超所值的特色。书中实例兼顾了ASP.NET与JSP。但是总体服务器端技术有些偏旧。

不同平台

Ajax本身是跨平台的,但由于它必须与服务器端联合才能发挥威力,而且各开发平台也为Ajax提供了更多支持,所以侧重各类平台的图书也就应运而生了。在Java平台,目前还没有太主流的技术出现,仍然处于群雄逐鹿阶段;在.NET平台,微软已经调集ASP.NET开发团队的精兵强将很快推出了ASP.NETAJAX;此外还有用户众多的PHP平台。

ASP.NET AJAX程序设计第I卷:服务器端ASP.NET 2.0 AJAX Extensions与ASP.NET AJAX Control Toolkit第II卷、第III卷(未出)陈黎夫 著人民邮电出版社ISBN 978711516058449.00元(第I卷)

本书作者曾经在微软从事最初ASP.NET AJAX(代号Atlas,请注意微软的产品名称AJAX四字均大写)项目的开发(网名Dflying),全书一共三部,堪称国内罕见的鸿篇巨制了。从计划来看,是对ASP.NET AJAX比较全面深入的剖析,但是不适合没有Ajax基础的读者。目前只有第I卷问世(据称是世界第一部ASP.NETAJAX正式版图书)。第III卷是高级主题,令人期待。讲述ASP.NET AJAX的还有同为人民邮电出版社的《征服ASP.NET2.0 AJAX》(陈冠军编著),严格地说,介于ASP.NET AJAX专门图书和普通的以.NET为平台的Ajax图书之间,也有大量Web基础的讲解,并有大量实例,适合读者入门。

基于J2EE的Ajax宝典李刚著电子工业出版社ISBN 978712104258489.00元

本书与《Web2.0开发技术详解》有很多相似之处,比如对JavaScript、CSS和DOM、XML Http Request等都用较大的篇幅专门讲述,又如后半部分大量的实例。看得出,作者的实践经验比较丰富,对技术趋势把握较好,书中介绍的实例采用Dojo+DWR+Spring+Hibernate的结构,并遵守Ajax只与业务逻辑层交互,业务逻辑层下隐藏了DAO层(Hibernate实现),体现了作者良好的技术功底。当然,作者的架构是否最佳选择,需要探讨。

同为针对Java平台的还有《Ajax基础教程》作者的新作《Ajax与Java高级程序设计》,与上面的书相比,它的优点是覆盖面广,一部分讲述了Prototype,script.aculo.us,Dojo Toolkit,DWR,Ajax Tags等热门Java Script/Ajax库,另外一部分则关注主流Java框架与Ajax的结合,包括Struts和Ajax,Tapestry与Ajax,Spring与Ajax,JSF与Ajax等,有点一网打尽的意思。有读者可能会抱怨书中讲解得不够透彻,不如国产著作只关注一种组合来得实在。

Ajax与PHP Web开发Cristian Darie著 王德民等 译人民邮电出版社ISBN 978711515785039.00元

目前唯一的一本PHP平台Ajax图书,口碑不错,主要通过实例来讲解。此外,人民邮电出版社还将出版《Ajax与PHP基础教程》,讲述了不少基础知识,另外有与本书不同特色的实例,可以互相补充。

进阶

Ajax设计模式Ajax Design PatternsMichael Mahemoff著,杨仁和译电子工业出版社ISBN 978712103995978.00元

如果抛开内容和层次等因素的话,本书是一部有实力与《Ajax实战》抗衡的著作。它的写作过程很特别,作者借助Wiki,采用了类似开源软件开发的过程,有力地保证了质量,也实实在在地吸取了许多分布在业界各处的知识精髓。像其中对REST架构的讨论就非常经典。模式是按作用分类的,并有不少实际的例子。当然,你不能期望本书能够企及GoF的《设计模式》一书所达到的高度。从某种意义上来说,像Ajax中许多具体的技术,也许未必适合用模式这种形式来总结最佳实践。正如有读者在Amazon上提出的,书中有些模式看上去并无太大的实用价值,似乎只是为了形成模式语言的需要比较生硬地套上去的,很容易误导读者,比如全书的根模式“Ajax应用”本质只是对Ajax的介绍而已,类似的还有JSON信息模式、DOM检查模式等等。此外还有些遗憾的地方,是服务器端基本上以PHP为主。

同种层次和范围的还有电子工业出版社出版的《Ajax模式与最佳实践》(Christian Gross著李锟张祖良等译)。此书的特点是作者有不少独到的见解,模式的选择也很有特色,另外整体思路是围绕着REST来走的,富于启发性。

Ajax高级程序设计Professional Ajax Nicholas C.Zakas著 徐锋 吴兰陟译人民邮电出版社ISBN 711514867849.00元

另外一部Ajax名著。目前原版第二版已经成为Amazon上数一数二的Ajax畅销书。只不过因为出版时间的原因,在国内的影响不如《Ajax实战》和《Ajax基础教程》。值得注意的是,本书是《Java Script高级程序设计》作者,一位世界级Java Script专家的新作,所以其中的Java Script代码应该可以拿来做范本。平心而论,此书应该称为“中级程序设计”更好,可以作为从《Ajax基础教程》到《Ajax实战》之间的一座桥梁。书中很多知识都是其他书中不多见或者没有深入讨论的,比如JSON、XSLT、RSS/Atom聚合,而完整的类似Gmail的实例当然也成了标牌特色。最后的问题就是,第二版中文版什么时候出?

实例

实例方面的图书,代码的质量是关键。由于时间关系,我们未能查看源代码,所以这一环节我们只是列出目前市面上已有的图书,不做推荐:

Ajax Hacks中文版电子工业出版社55.00元

总体感觉比较简单,确实只是Hacks而已。

Ajax经典案例开发大全清华大学出版社52.00元

看目录非常全,包罗万象,也有一定技术含量,不知道代码质量如何。

Ajax Java项目实战人民邮电出版社(即出)

Amazon上得到好评的实例性图书,由9个大例子组成。

征服Ajax――Web2.0快速入门与项目实践(.NET版)人民邮电出版社36.00元

口碑不错,但是出版较早,随着ASP.NET AJAX的推出,很难与时俱进了。另外有一本同名的Java版,实际上是完全不同的书,相比质量略差。

展望

虽然有人评论,以上图书之后,应该不需要更多Ajax图书了,但实际情况恰恰相反。某种意义上,Ajax的发展才刚刚开始。国外的相关图书出版仍然有如雨后春笋之势,也充分说明了这一点。其中有不少好书目前已经得到国内出版消息(感谢人民邮电出版社和互动出版网提供信息),包括:

  Ajax实战――Prototype与Scriptaculous篇(英文版:Prototypeand Scriptaculous in Action)

Ajax实战――实践篇(英文版:Ajax in Practice)

这两本书都是《Ajax实战》作者的新著,在框架和开发实践方面进一步拓展了前作,组成了皇皇的三部曲。

Bulletpro of Ajax中文版

是《Java Script DOM编程艺术》一书的作者新著,很大程度上可以看做这本书的后续。作者在此书中充分阐述了他所提出的Hijax理念。

GWT实战(英文版:GWT in Action: Easy Ajax with the Google Web Toolkit)

来自Google的Ajax解决方案,当然引人注目。

ASP.NET AJAX实战(英文版:ASP.NET AJAX in Action)

Manning实战系列新品。

Ajax高级程序设计(第2版)

目前最炙手可热的畅销书之一。

企业级Ajax(英文版:Enterprise Ajax)

就在许多人对Ajax技术应用于较大规模的环境中还充满怀疑的时候,本书作者已经做出了回答。正如《Ajax设计模式》一书的作者所说,此书非多年经验的老手不能写,作者直指企业级程序员最迫切的一些问题,至今为止还很少有人涉及。

以上图书均将由人民邮电出版社出版。

Ajaxon Rails(影印版)东南大学出版社45.00元

两种最热门Web2.0技术的结合,会产生什么样的化学反应?

如果读者有其他值得推荐的Ajax新书的消息,敬请告知。下月,我们以Web服务器端开发技术结束本系列。

手机光明网

光明网版权所有

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

光明网版权所有