词条 | Dojo构建Ajax应用程序 |
释义 | 本书系统论述了利用Dojo构建Ajax应用程序的方法和实践。全书内容主要由三部分组成:Dojo教程、Dojo Widget、Dojo详解。其中各部分自成一个知识模块,相互之间又恰当衔接。 本书编写体系完整,撰写风格生动、配合大量的代码示例和操作步骤,非常适合Dojo开发者学习参考。 Dojo构建Ajax应用程序( 美)James E.Harmon著 开发人员专业技术丛书 【作 者】James E. Harmon 【译 者】 张龙 【出 版 社】 机械工业出版社 【书 号】9787111266648 【出版日期】2009年6月 译者序Dojo、ExtJS、DWR、YUI、GWT、Prototype、ZK……面对这么多的Ajax框架(或库),初学者难免不知所措,我们到底该学习哪个?我想说的是,首先学习JavaScript,因为不管哪个Ajax框架,其根基始终离不开JavaScript,只有将JavaScript掌握好了才可能走得更远,更快。那么,学习JavaScript哪些内容呢?面向对象、闭包、事件模型、DOM等都是我们必须掌握的,只有这样才不会被一个又一个新的Ajax框架所累,才能真正凌驾于框架之上达到灵活运用的目的。 我从2006年就已经开始使用Dojo,那时的版本为0?43(这也是Dojo的一个经典版本),当时关于Dojo的资料非常少,甚至连官方网站的帮助文档也不够完善,迫不得已,只有阅读Dojo的源代码。从Dojo 1?0开始,Dojo的核心已经发生了重大的变化并且与之前的版本不再兼容;但万变不离其宗,其架构、思想还是有相通之处的。本书讲述的Dojo版本为1?1,我相信只要读者掌握好了该版本,就可以轻松应对以后的版本升级了。 本书共分为三大部分,共十七章。其中第一部分提供了Dojo的初学者指南,帮助大家尽快走进Dojo的世界。第二部分重点介绍了DojoWidget,这也是Dojo最重要的组成部分,期间以表格的形式给出了各Widget的用法示例及相关属性、方法与事件等,读者也可以将这部分内容当作参考手册,随用随查。第三部分深入讲解了Dojo的方方面面,从对象与类到测试与调试,通过这一部分的学习将极大提高读者应用Dojo和JavaScript的技能。 从接手本书的翻译到交付出版经过了4个多月的时间,在这期间我集中了所有精力完成这本专著的翻译,不敢懈怠。 感谢我的父母!感谢你们的培养和教育。感谢我的女友张明辉!在翻译此书的这段日子里,是你无微不至的关怀让我忘却了生活中的琐事,专心于译作。 不得不提的还有华章公司的陈冀康先生,是你的不断鼓励与帮助,给了我完成此书翻译的信心和勇气,谢谢。 限于译者水平,书中难免有不妥之处,如读者在阅读本书的过程中发现了任何问题或是有任何建议,望与我联系。联系方式如下: 序学习DojoToolkit时至少要清楚一点——你想要的是什么!在刚开始使用Dojo时,我的基本目标就是创建一个有用的JavaScript工具集而不必让专业的JavaScript开发者重复发明轮子。术语Ajax的出现掀起了一阵旋风,我们很快就发现自己创建的这个工具集被数以千计的开发者和上百万的用户所使用。 就像那些发展速度远远超出想象的项目和公司一样,痛苦始终是伴我们左右的。Dojo团队花费了将近18个月的时间来解决其快速发展所带来的问题:性能、范围、易用性及文档。从市场和文档的角度来看,开源项目的名声并不好,最开始Dojo也无法摆脱这个宿命。在发布了Dojo0?9、1?0及1?1之后,我们对文档和API查看工具进行了极大的改进,现在我们可以自豪地说这些内容已经不会再给Dojo抹黑了。 除了源代码文档外,精彩的示例也是一本好书不可或缺的组成部分。在学习新东西时,最困难之处在于你不知道如何提出问题。Dojo是非常强大和高效的,但这也会导致一些Dojo新手无从下手。无论是狭义的Dojo还是广义的Ajax都会有一些学习曲线,你需要具有宽广的技术背景——从服务器端的编程语言到JavaScript、CSS、HTML及DOM都需要掌握,外加上浏览器之间的一些不兼容特性。类似于Dojo这样的工具集会尽最大努力帮助开发者摆脱这么多问题的困扰,但当开发者面对新问题时还是不可避免地会遇到很多麻烦。 Dojo开发者和用户可以采取很多方式去解决问题并加快脚步,可以阅读本书,也可以求助于社区,甚至还可以寻求SitePen这样的商业公司的帮助。 Dojo已经获得了成功并在茁壮成长,这是由其透明和开放的进程所决定的。所有代码都基于AFL和BSD协议,这两个协议的目的在于让广大用户能更好地使用而不是限制其使用。 很多个人与公司都对Dojo做出了巨大的贡献,如AOL、Google、IBM、Nexaweb、Renkoo、SitePen、Sun及WaveMaker等。我们有一个严格但低门槛的贡献政策(contribution policy),它要求所有贡献的源代码都要通过一个贡献协议协定(Contributor License Agreement),这样就能保证现在和将来对Dojo地使用不会导致法律或专利上的问题。 相对于其他工具集,我们进行了更多的创新和试验,在DojoX中引入的新特性已经遥遥领先于其他工具集。 我与James Harmon相识在一次会议上,那时他正在进行关于Dojo的讲座。James对Dojo深入浅出地介绍非常精彩。Alex Russell和我总是想面面俱到地将Dojo介绍给别人,而James却能将复杂的主题分解为易于理解的概念,这样人们就能快速掌握Dojo了。 本书同样以清晰明了的方式介绍了如何使用Dojo轻松创建Web应用和Web站点,即使开发者不是JavaScript专家也没有关系,凭借Dojo Toolkit,他们可以快速且高效地进行开发。Dylan Schiemann CEO,SitePen 联合创始人,Dojo Toolkit 致谢只把我的名字列在本书的封面上显得太不合时宜了。本书是集体智慧的结晶,我对为本书作出贡献的所有人表示深深地敬意。首先,感谢本书的编辑Debra Williams Cauley,他以其专业的知识指导我完成本书的编写,同时还给予我很多建议。 感谢Prentice-Hall的Debra团队,包括直接与我打交道的Chelsey Marti、Chrissy White及Michael Thurston,还有那些幕后工作者。Eric Foster-Johnson也为本书提出了很多有价值的建议。 要是没有Dojo Framework也不会有关于Dojo的书。感谢那些为该项目作出贡献和长久以来帮助过我的人们,包括Dylan Schiemann、Alex Russell、Karl Tiedt、Adam Peller、Becky Gibson、Sam Foster、Ben Lowery和James Burke,要感谢 的人太多了,恕我不能一一列举。 感谢我的伙伴们,他们给予我很多建议,包括:Ted Rafacz、Max Rahder、Steve Meshner、Bob Phifer和Will Provost。感谢我的技术偶像:Douglas Crockford、Jesse James Garret还有Ajaxian?com的那帮家伙,是他们让我着迷于Ajax和JavaScript。 特别要感谢我亲爱的妻子Sonia,为了能让我安心写书,她独自一人承担了很多。没有你就没有这本书。你的支持永远是我灵感的来源。我爱你。 关于作者James E?Harmon是芝加哥Object Training Group的校长和高级讲师。他是一名资深的开发者,主要在埃森哲(Accenture)和其他几个Web咨询公司开发大型的在线应用,现在专注于通过最新的技术和框架对Java开发者进行培训。 目录译者序 序 第一部分Dojo教程 第1章理解Dojo:教程 1.1教程简介 1.1.1本教程的目标 1.1.2使用Dojo的目的 1.2一个标准的HTML数据输入表单 1.2.1First与Last Name 1.2.2用户名 1.2.3Email地址 1.2.4地址 1.2.5州 1.2.6城市 1.2.7邮政编码 1.2.8服务日期 1.2.9评论 1.3改进表单的计划 1.3.1在表单中引入Dojo 1.3.2增加客户端验证 1.3.3增加服务器端特性 1.3.4使用专门的Dojo widget 1.3.5处理表单 1.4获取并运行源代码 1.5教程步骤1——引入Dojo 1.5.1下载或是创建源文件 1.5.2引入DojoToolkit 1.5.3引入Dojo样式表 1.5.4回顾所有的代码变化 1.5.5运行新页面 第2章使用Dojo进行客户端验证 2.1验证表单字段 2.2教程步骤2——增加客户端验证 2.2.1验证First Name字段 2.2.2验证Last Name字段 2.2.3验证用户名字段 2.2.4验证Email地址字段 2.2.5验证地址字段 2.2.6验证城市字段 2.2.7验证邮编字段 第3章使用Dojo与服务器端 协同工作 3.1增加服务器端特性 3.2教程步骤3a——增加服务器端验证 3.2.1指定事件处理函数 3.2.2对服务器端进行调用 3.3教程步骤3b——从服务器端接收 数据 3.3.1为城市字段选择恰当的Widget 3.3.2获得州的值并将其发送到 服务器端 第4章使用Dojo Widget 4.1将Dojo widget增加到页面中 Dijit——Dojo Widget模块 4.2教程步骤4——使用Dojo Widget 4.2.1使用Dojo DateTextBox Widget 4.2.2使用Dojo富文本编辑器Widget 第5章使用Dojo处理表单 5.1使用Dojo处理表单 5.2教程步骤5——处理表单 5.2.1创建Dojo Form. Widget 5.2.2对表单提交进行拦截 5.2.3检查表单中所有元素的合法性 5.2.4将表单提交到服务器端 第二部分Dojo Widget 第6章Dojo Widget简介 6.1Widget是什么 6.2Dojo Widget是什么 6.3构成Dojo Widget的组件 6.3.1Widget HTML 6.3.2Widget样式 6.3.3Widget的JavaScript组件 6.3.4Dojo Widget的继承 6.3.5Dojo Widget概览 6.3.6构建自己的Widget 第7章Dojo Form. Widget 7.1标准的Form和Dojo Form. Widget dijit.form._FormWidget类 7.2详解Dojo Form. Widget 第8章Dojo Layout Widget 8.1理解页面布局 dijit.layout._LayoutWidget类 8.2Dojo Layout Widget简介 第9章其他专门的Dojo Widget 9.1什么是专门的widget 9.2Menu Widget 9.2.1dijit.Menu 9.2.2dijit.MenuItem 9.2.3dijit.MenuSeparator 9.2.4dijit.PopupMenuItem 第三部分Dojo详解 第10章Dojo是什么 10.1JavaScript和AJAX的历史 10.2Dojo的历史 10.3Dojo的目标 10.4Dojo简介 10.5Dojo解决了哪些问题 10.6谁应该使用Dojo 10.7协议 10.8竞争者和替代者 10.9Dojo的未来 第11章Dojo的技术描述 11.1Dojo下载包中有什么 11.2Dojo源代码的组织 11.2.1顶层目录 11.2.2深入Dojo目录 11.3Dojo模块和特性 11.3.1命名约定和命名空间 11.3.2DojoBase模块 11.3.3Dojo核心模块 第12章对象与类 12.1对象探究 12.1.1创建对象 12.1.2封装 12.1.3对象模板 12.1.4JavaScript的原型 12.2使用Dojo处理对象 Dojo函数:dojo.declare 12.3定义类 12.3.1父类和继承 12.3.2dojo.declare的API 12.3.3Dojo的其他函数 12.3.4对象图和“.”符号 第13章String与JSON 13.1文本字符串 13.1.1Dojo函数:dojo.string.pad 13.1.2dojo.string.pad使用示例 13.1.3Dojo函数:dojo.string. substitute 13.1.4dojo.string.substitute使用 示例 13.2JSON 13.2.1Dojo函数dojo.toJson 13.2.2dojo.toJson使用示例 13.2.3Dojo函数:dojo.fromJson 第14章事件与事件处理 14.1事件模型简介 14.1.1什么是事件 14.1.2额外的Dojo事件 14.2定义并指定事件处理器 14.2.1使用dojo.connect指定事件 处理器 14.2.2指定事件处理器示例 14.3将事件表示为对象 14.4在Dojo中使用面向方面的编程 第15章Ajax Remoting 15.1Remoting 15.2XMLHttpRequest回顾 15.3dojo.xhrGet函数 参数详解 15.4dojo.xhrPost 使用示例——错误处理 15.5处理表单 15.51Dojo函数dojo.formToObject 15.5.2Dojo函数dojo.objectToQuery 15.5.3Dojo函数dojo.formToQuery 15.5.4Dojo函数dojo.formToJson 15.5.5Dojo函数dojo.queryToObject 第16章处理DOM 16.1DOM抽丝剥茧 16.2Dojo查询 16.2.1CSS选择器 16.2.2在dojo.query中使用选择器 16.2.3使用dojo.query找到的DOM 元素 16.3动画 16.3.1理解动画 16.3.2Dojo动画函数 16.3.3标准的动画效果 第17章测试与调试 17.1测试 17.1.1单元测试 17.1.2DOH——Dojo单元测试框架 17.1.3其他类型的测试 17.2日志 17.2.1基本日志 17.2.2高级日志 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。