您的浏览历史

Ajax实战(目前Ajax领域最为全面深入的一本著作)(被《程序员》等机构评选为2006年最受读者喜爱的十大IT图书之一)

促销活动
  • [本书]参加人民邮电出版社满80元赠书活动
精彩评论

基本信息

编辑推荐

2006年度Amazon十佳畅销书榜首图书
目前Ajax领域最为全面深入的一本著作,总结了大量Ajax开发中的设计模式。

推荐阅读
Ajax模式与最佳实践..

市场价:¥49.80
4-5星价:¥39.84
[购买] [收藏]

内容简介回到顶部↑

本书是目前Ajax领域最为全面深入的一本著作,其中不仅有对于基础知识的介绍,还有对于Ajax开发中重大的体系架构问题的深入探讨,总结了大量Ajax开发中的设计模式,并讨论了框架、安全性与性能等等。书中提供了几个典型的例子,兼顾各种开发平台,这些例子的代码稍作修改就可以直接应用于项目开发之中,代码源文件可以从图灵网站下载。
本书内容广泛且深入,同时适用于各个层次的Web应用开发人员。

作译者回到顶部↑

本书提供作译者介绍

Dave Crane英国资深Web开发人员,在智能家居、银行和金融系统领域应用DHTML和Ajax等客户端技术拥有丰富的经验。

Eric Pascarello 资深ASP.NET开发人员,著名Java社区JavaRanch的 HTML与JavaScript版主。

Darren James 是开源Ajax框架的架构师。


.. << 查看详细

目录回到顶部↑

第一部分 重新思考Web应用
第1章 一种新的Web设计方法
1.1 为什么需要Ajax富客户端?
1.1.1 比较用户体验
1.1.2 网络延迟
1.1.3 异步交互
1.1.4 独占或瞬态的使用模式
1.1.5 忘掉Web
1.2 Ajax的四个基本原则
1.2.1 浏览器中的是应用而不是内容
1.2.2 服务器交付的是数据而不是内容
1.2.3 用户交互变得流畅而连续
1.2.4 有纪律的严肃编程
1.3 真实世界中的Ajax富客户端
1.3.1 现状
1.3.2 Google Maps
1.4 Ajax的替代方案
1.4.1 基于Macromedia Flash的方案
1.4.2 Java Web Start及其相关技术
1.5 小结

译者序回到顶部↑

大匠的杰作——译者序
普遍来说,中国人缺乏匠人的气质。“匠人”这个词在中国几乎是一个贬义词。例如说:“xx不过只是一个匠人”。但是其实国内的软件行业正是缺乏一大批对于自己的工作精益求精的软件工匠,这才是国内软件行业的主要问题所在。
相比之下,日本人是一个非常有匠人气质的民族。手艺精湛的匠人自古以来在日本都受到普遍的尊重。在这个方面,我们需要向日本人学习的地方有很多。
自从Pete McBreen所著的Software Craftsmanship(中文版名为《软件工艺》,人民邮电出版社出版)出版后,“软件工艺”为软件行业的从业者带来了“软件工程”之外的另一个重要的隐喻。在此之前,“软件工程” 这个隐喻在软件行业中一直占据着绝对的话语权。软件工艺并非是为了彻底颠覆软件工程,而是为了促使大家将目光更多地投向精研软件建造过程中的工艺问题。这本书将软件开发者分成了三个层次:学徒开发者(Apprentice Developer)、技师开发者(Journeymen Developer)和软件工匠(Craftsman)。
Ajax in Action的作者无疑已经达到了软件工匠的层次,本书充分体现出了他们的技术水平。我将本书评价为大匠的杰作。时间将可以证明,本书在Ajax技术著作的殿堂中,会像米开朗基罗的大卫那样成为不朽之作。这本书就像大卫那样充满了美感,其架构的复杂、计算的精确令人敬畏,堪称是工艺学和艺术的完美结合。
想要开山立派,必须高屋建瓴。达摩祖师、张三丰无不是这样的人物。本书作为Ajax技术领域的开山之作,同样也达到了这样的高度。虽然它是Ajax领域的第一本著作,但是它所达到的高度至今仍然是同类著作难以企及的。
某个技术领域的第一本著作往往并不是该领域中最好的著作,例如,大量的开发实践已经证明早年那些介绍J2EE开发的书价值是有限的,直到Rod Johnson写出了经典的J2EE without EJB,对于EJB的盲目推崇才宣告结束。到目前为止,与Ajax技术相关的著作在国外已经出版了10本以上,国内也在今年开始陆续出版大量相关的著作,包括翻译和原创。然而,我们非常惊讶地发现,本书目前仍然是这个领域最为全面和深入的一本书。其中不仅包含了耐心细致介绍的基础知识以及精心设计的实战例子,更重要的是,还涵盖了对Ajax开发中重大的体系架构问题的深入探讨,并且总结出了大量Ajax开发设计模式,因此,认为本书是一本讲体系架构和设计模式的书是毫不过分的。
Ajax领域的新框架和组件库层出不穷,一些功能非常简单,一些则是过度的设计或者存在着严重的设计问题。Ajax开发者对于应该选择什么样的框架感到茫然无助,毫无疑问,Ajax in Action可以帮助你。本书是目前已经出版的唯一一本深入探讨Ajax开发中的架构问题的著作,这使得它显得卓而不群。如果不去深入研究Ajax开发中的架构问题,Ajax开发领域将会再现J2EE开发领域早年的那种混乱局面,本书将会使得Ajax开发秩序井然。我们需要的不完全是技术本身,还需要思考和选择的眼光。Ajax in Action正是能够带给读者选择的眼光的著作。它使读者能够全方位地理解Ajax开发,不仅仅是看到众多的树木,更重要地是看到整片的森林。架构设计的合理性和灵活性将是选择Ajax框架的一个首要因素,将能决定任何Ajax框架未来的命运。一年之后,存在架构设计问题的很多框架都将会退出历史舞台。
尽管如此,作者并不是只讨论重大的架构问题,而忽略了具体的实现细节,这样往往会流于空泛。作者不仅仅是卓越的评论家,更是卓越的实干家。对于书中介绍的每一个架构和模式都给出了精心设计的例子。对于Ajax开发需要的所有基础知识,作者都通过例子做了耐心细致的讲解。书中花费了一半的篇幅阐述了大量Ajax开发的实例,展示了Ajax开发的方方面面。每一个实例中的代码最后都被重构为一个可以重用的组件,这些组件的不需要做任何修改,或者只需要稍作修改就可以直接应用在读者的项目开发之中,帮助用户得到更好的交互体验。
在本书中,有令人高山仰止的体系架构和设计模式的分析,有潺潺流水式的深入细致的实例讲解。娓娓道来,带给读者100%一对一的阅读体验,虽然讨论的内容很多,但是达到了形散神不散的效果,这个神就是改善Web应用的可用性,可以说,本书中所有关注的问题都是与改善Web应用的可用性相关的。这正是Ajax技术诞生的使命,也应该是任何一个Ajax开发者需要牢记的。Ajax开发并不是一个纯粹的技术问题,因为这里还涉及到另一个重要的利益相关人,就是最终用户。我们始终要把最终用户的感受放在首要位置,才能开发出出色的Ajax应用。
这本书因为其内容的广泛和深入,同时适合于Ajax开发的初学者和提高者,两种类型的开发者都能从中得到巨大的收获。对于Ajax开发者来说,本书可以作为案头常备的著作。作者就像是一位吹着笛子的魔法师,循序渐进、深入浅出地将读者领进了Ajax这个迷人的殿堂。本书堪称是一片富饶的宝藏,等待着你——勇敢的探险家去探索和发现。
李锟
2006年4月4日于上海

前言回到顶部↑

有时候,在你发觉之前,命运之神已经降临多时了。20世纪90年代初期,在我使用的各种有趣的新技术之中,一种称为JavaScript的小脚本语言刚刚崭露头角。我很快意识到,尽管名字叫JavaScript,它其实与我心爱的Java没有任何关系,但是从此它却与我结下了不解之缘。
90年代后期,我开始为数字机顶盒技术的早期采用者开发软件。其中主要软件部分的用户界面完全使用JavaScript编写,我成为一个开发小组的技术负责人,负责使用这种语言编写窗口管理代码、调度程序和各种巧妙代码。“多么神奇啊!”我想,“它总是让人意想不到。”
此后,我转向了要求更高的工作——为会说话的未来智能家居开发企业消息中枢(backbone)和各种用户界面组件。我是靠Java方面的技能被录用的,但是很快我又在编写奇妙的JavaScript用户界面了。令人惊奇地是,我发现一些人居然郑重其事地在用这种脚本语言来编写框架。很快,我使用了Mike Foster开发的早期版本的x库(你将在本书偶尔看到它的身影)。一天下午,在开发一个邮件和文本信息论坛时,我有了一个不可思议、令人兴奋的想法:在隐藏帧(hidden frame)中检查新的消息,无需刷新屏幕就可以将消息添加到用户界面中。经过几个小时的狂热编码,我成功了,甚至解决了如何用颜色来呈现新的消息,使得它们容易被用户注意到。“多有趣啊!”我想,随后就又回去编写那些正经代码了。我还不知道,在同一时间,Eric Costello、Erik Hatcher、Brent Ashley和其他人正在考虑相同的事情,而微软也正在为其Outlook Web Access设计XMLHttpRequest。
命运之神还在紧随着我的脚步。我的下一个工作可以说是责任重大——为顶级的大型银行开发软件。我们混合使用了Java和JavaScript,并且使用了隐藏帧和其他的技巧。我的团队现在维护着超过1.5M字节的代码——除了使用由JSP生成的代码外,全部是静态的JavaScript。其中还没有算上图片资源。我们用它来开发上百个操作员使用的一个应用,这个应用管理着价值数以百万美元的帐户。你的银行帐户有可能就是使用这个软件来管理的。
在此期间,我没有完全意识到,JavaScript已经长大成人了。在2005年2月,Jesse James Garrett提供了完整拼图中缺失的一块——他为我们过去几年偷偷摸摸地私自使用的“跨浏览器异步富客户端动态HTML客户服务器技术”(cross-browser-asynchronous-rich-client-dynamic-HTML-client-server technology)取了一个简洁而干脆的名字:Ajax。
正如他们所说的,以后的一切已经载入史册。Ajax现在正在引起广泛兴趣。Prototype、Rico、Dojo、qooxdoo、Sarissa和许多其他框架的开发者正在编写大量优秀的代码。框架已经多得不可胜数,但是我们还是决定尝试一下。在附录C中,我们列举了大多数值得关注的框架。生活如此美好,我从来没有像现在这样享受计算机工作。
我们远未大功告成,这个领域还在发展之中。当我在2005年9月对5月撰写的第一章进行最后修改时,我吃惊地看到这个领域取得的巨大进展。这个主题仍然有很多值得思考的地方,接下来两年将会令人无比兴奋。在写作本书的旅程中,我非常幸运地有Eric和Darren一路相伴。
我希望你也会与我们同行——而且感到不虚此行!
Dava Crane

评论交流

共有173人开贴评论  263人参与评论  162人参与打分 查看

77人
 47%
用户平均打分
我要写评论 help如何参与评论和打分
53人
 32%
19人
 11%
7人
 4%
6人
 3%

mdmdmd

专家级评论员
该会员在china-pub购买过此书 精彩书评
评价等级:  
发表于:2006-4-29 3:20:00
本以为Ajax是什么神奇的好东东。但最近了解了一下,原来不过如此。有些人将它吹得太悬了,名过其实。
无可否认,Ajax确实能做一些看起来很爽的东东,但不一定非要用Ajax来做吧?Ajax的核心XMLHttpRequest也不是什么新鲜玩艺了吧?
OK,这些暂且不谈。作为一个程序员的你,最关心的除了这个家伙能不能为你实现某些功能之外,恐怕就是好不好用了。Ajax号称是一种革新,如果这个革新没有好的开发工具支持的话,就无法得到普及,一门如法得到普及的技术,你学了能有多大用处?恐怕只能自己玩玩罢了。VS.NET上有集成的开发工具吗?JBuilder上有集成的开发工具吗?Dreamweaver上有集成的开发工具吗?都没有!至于Ajax的开发工具,如Bindows、BackBase等等,连它们自己相互之间都没有形成一个统一的标准(个人感觉,不一定正确),又叫用户去如何选择?
或许有人说:我不一定要借助工具来开发,我可以直接编码。行,当然可以,但前题条件是:你的javascript要非常牛。在某些功能稍稍复杂一点的情况下,我不知道你用javascript来编码要用多长的时间,而一些简单的功能,用你已经习惯了的、且已经应用广泛的DHTML来实现似乎要方便得多(个人观点:Ajax说白了也就是DHTML)。
回复 ( 28条评论-- 点击查看讨论 )
您觉得呢? 送鲜花 (得23支)  扔鸡蛋 (得27个)

oberon

一级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2009-5-12 21:16:00
一本超值的书,一本讲良心的书,循序渐进,细致入微,一开始就从范式的高度来讲解,将Javascript这门一真以为是种辅助语言运用的出神入化,还没看到哪位中国人能将书写得这么好,汗...
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

xingfumiao

三级评论员
该会员在china-pub购买过此书 精彩书评
评价等级:  
发表于:2007-5-21 16:57:00
我昨天晚上大概读了这本书的第一章,还没涉及到如何编码。发现语言很是优美,一方面翻译地极具文采,语言婉转流畅,使阅读本身就是一种享受,另一方面作者拥有熟练驾驭材料的高超技巧。当然后面的章节我还没看,不知道是不是能够始终如一。我想,不妨把它作为一本文学著作来读。能够把技术写成这样的确实不多。就算没能学会这门技术,能够学会技术写作技巧也不错嘛。
您觉得呢? 送鲜花 (得2支)  扔鸡蛋 (得0个)

mdw211

专家级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2010-4-29 12:05:00
当年Ajax红火时候的大作。现在读读也不错,我有个同事说这本书文采不错。
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

xmwwn

五级评论员
该会员在china-pub购买过此书
  
发表于:2010-4-17 22:12:00
实际上Ajax就是原有的技术拿出来包装一下,看看网上的视频就差不多了
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)
我要写评论
查看所有评论交流(共173条)