具体描述
资深Web开发专家根据Backbone.js最新版本撰写,对它的所有功能、特性、使用方法和开发技巧进行了全面而透彻的讲解,是系统学习的权威参考书。本书以一种开创性的写作方式,使理论与实践达到了极好的平衡。不仅对理论知识进行清晰而透彻的阐述,而且根据读者理解这些知识的需要精心设计了70余个经典示例,以及4个综合案例,每个示例分为功能描述、实现代码、页面效果和源码分析四部分,旨在帮助读者通过实践的方式达到迅速掌握Backbone.js的目的。
《Backbone.js实战》共10章,在逻辑上分为四部分。第一部分(第1~7章)详细介绍了Backbone开发所涉及的基础知识,包括适用场景、开发环境的搭建、Underscore依赖库中各函数的使用方法,以及事件、模型、集合、视图、导航各个模块的功能和使用方法;第二部分(第8章)通过两个管理系统的综合案例,充分展示了使用Backbone开发的全过程;第三部分(第9章)详细讲解了Require框架的使用;第四部分(第10章)通过两个综合性的移动应用开发案例,演示了利用Backbone、jQuery Mobile和Require框架开发WebApp的详细过程。
作者简介
陶国荣,资深Web技术专家,有10余年开发经验,是国内较早专业从事 Web开发的一线技术人员和培训讲师。一直致力于 HTML 5、JavaScript、CSS 3等Web技术和jQuery、iQuery Mobile、Backbone等 Web开发框架的研究和实践,积累了丰富的经验。微软技术方面的专家,精通C#、 ASP.NET和SQLServer等技术。知名技术作家,曾出版了多部技术著作。2013年荣获51CTO评选的“最受读者喜爱的IT图书作者奖”。《jQuery权威指南》 jQuery领域代表性著作之一,Web开发领域的畅销书,推向市场几年来,广受好评,已经更新至第2版。《HTML 5实战》内容结构和写作体例非常独特,以实践为导向,深受初学者欢迎。《jQuery Mobile权威指南》 jQueryMobile领域的标杆性著作,被誉为“系统学习jQuery Mobile必读书”,取得了不错的市场成绩。
目录信息
第1章 初识Backbone 1
1.1 Backbone简介 1
1.1.1 Backbone的MVC结构 1
1.1.2 特点及适用范围 2
1.2 如何搭建开发Backbone应用的框架 3
1.2.1 Backbone.js主框架文件 3
1.2.2 Underscore.js依赖库文件 3
1.2.3 第三方JavaScript库 5
1.3 Backbone依赖库的使用 5
1.3.1 使用_.bindAll()函数绑定对象方法 5
1.3.2 使用_.keys()函数检索对象属性名称 7
1.4 开发第一个Backbone页面 7
1.5 本章小结 10
第2章 依赖库Underscore 11
2.1 Underscore简介 11
2.1.1 Underscore对象封装 11
2.1.2 Underscore库的类型模块 12
2.2 集合 13
2.2.1 each()和map()函数 13
2.2.2 find()和filter()函数 15
2.2.3 max()和min()函数 16
2.2.4 sortBy()和groupBy()函数 17
2.3 数组 18
2.3.1 first()和last()函数 19
2.3.2 indexOf()和lastIndexOf()函数 20
2.3.3 without()和union()函数 21
2.4 函数 22
2.4.1 delay()函数 22
2.4.2 once ()函数 22
2.4.3 wrap ()函数 23
2.4.4 compose()函数 23
2.5 对象 24
2.5.1 keys()和values()函数 24
2.5.2 pick()和omit()函数 25
2.5.3 defaults()函数 26
2.5.4 has()函数 27
2.6 功能 28
2.6.1 random()函数 28
2.6.2 escape()和unescape()函数 28
2.6.3 template()函数 29
2.6.4 chain()函数 33
2.7 本章小结 34
第3章 事件管理 35
3.1 Backbone.Events模块API结构 35
3.2 基本事件方法 36
3.2.1 绑定on方法 36
3.2.2 绑定一次once方法 42
3.2.3 触发事件trigger方法 43
3.2.4 移除事件off方法 45
3.3 新增事件方法 49
3.3.1 监听事件listenTo方法 49
3.3.2 监听一次listenToOnce方法 50
3.3.3 停止监听stopListening方法 52
3.4 事件其他 53
3.4.1 特殊事件all的使用 54
3.4.2 事件与Model、Collection、View的关系 55
3.5 本章小结 58
第4章 数据模型 59
4.1 创建数据模型 59
4.1.1 创建一个简单模型对象 59
4.1.2 对象模型赋值的方法 60
4.1.3 自定义模型中的方法 62
4.1.4 监听对象属性值变化 63
4.2 模型对象操作 65
4.2.1 读取数据 65
4.2.2 修改数据 66
4.2.3 开启数据验证 67
4.2.4 关闭数据验证 69
4.2.5 更新数据回滚 70
4.2.6 删除数据 71
4.3 对象属性操作 73
4.3.1 attributes对象 73
4.3.2 previous和previousAttributes方法 75
4.3.3 set方法的内部顺序 77
4.4 同步数据到服务器 78
4.4.1 save方法 78
4.4.2 fetch方法 83
4.4.3 destroy方法 84
4.5 本章小结 86
第5章 模型集合 87
5.1 创建集合对象 87
5.1.1 自定义集合对象 87
5.1.2 实例化集合对象 89
5.1.3 自定义集合方法 90
5.2 操作集合中模型对象 91
5.2.1 移除集合对象中的模型 91
5.2.2 添加集合对象中的模型 94
5.2.3 查找集合对象中的模型 96
5.2.4 集合中模型对象的排序 99
5.3 与服务器交互集合中模型对象 102
5.3.1 调用fetch方法获取服务器数据 102
5.3.2 调用create方法与服务器同步数据 104
5.4 本章小结 110
第6章 视图 111
6.1 视图基础 111
6.1.1 定义视图对象 111
6.1.2 视图对象访问模型对象 114
6.1.3 视图对象访问集合对象 116
6.2 视图中的模板 118
6.2.1 处理逻辑的模板 118
6.2.2 显示多项内容的模板 120
6.2.3 自定义模板变量标记 123
6.3 视图中的元素事件 125
6.3.1 视图中简单事件绑定 126
6.3.2 绑定视图模板中的多个事件 128
6.3.3 动态绑定和取消视图中的事件 130
6.4 使用Backbone框架开发前端Web应用 134
6.4.1 功能描述 134
6.4.2 实现代码 135
6.4.3 页面效果 137
6.4.4 源码分析 137
6.5 本章小结 138
第7章 导航控制器 139
7.1 浏览器导航基础 139
7.1.1 history对象 139
7.1.2 HTML 5中history对象API 142
7.1.3 location对象 145
7.2 绑定导航地址 147
7.2.1 action方式绑定URL地址 147
7.2.2 event方式绑定URL地址 150
7.2.3 定义hash属性绑定规则 151
7.3 router类中的方法 154
7.3.1 route方法的使用 154
7.3.2 navigate方法的使用 156
7.4 history对象的stop方法 158
7.5 本章小结 161
第8章 综合案例:Backbone框架开发Web应用 162
8.1 案例1:学生信息管理系统 162
8.1.1 需求分析 162
8.1.2 界面效果 162
8.1.3 功能实现 165
8.1.4 代码分析 170
8.2 案例2:人员资料管理系统 174
8.2.1 需求分析 174
8.2.2 界面效果 174
8.2.3 功能实现 178
8.2.4 代码分析 186
8.3 本章小结 190
第9章 Require框架基础知识 191
9.1 构建Require框架开发环境 191
9.1.1 下载Require文件库 191
9.1.2 异步方式加载文件库 192
9.2 加载主模块 192
9.3 加载自定模块 193
9.3.1 示例文件间的层次关系 194
9.3.2 加载key/value格式模块 194
9.3.3 加载函数模块 196
9.3.4 加载存在依赖关系的函数模块 197
9.4 Require的配置选项 199
9.4.1 加载指定路径的模块文件 200
9.4.2 加载非AMD标准的模块文件 201
9.4.3 加载Require插件模块文件 203
9.5 本章小结 204
第10章 综合案例:Require + jQuery Mobile + Backbone框架开发 205
10.1 案例1:简单的移动端WebApp 205
10.1.1 需求分析 205
10.1.2 界面效果 206
10.1.3 功能实现 206
10.1.4 代码分析 211
10.2 案例2:移动端的新闻浏览应用 212
10.2.1 需求分析 212
10.2.2 界面效果 212
10.2.3 功能实现 213
10.2.4 代码分析 221
10.3 本章小结 223
· · · · · · (收起)
读后感
由于项目重构需要而选择的Backbone入门书籍,从图书馆借来花了两天就把它看完了,因为这本书实在是写得太烂了!虽说国产的技术书多数都写得比较一般,但这种跟翔一样的书还是第一次见,还号称什么“Web开发专家撰写”。整本书都在解释Backbone每个API,每个API都附了简单到毫无...
由于项目重构需要而选择的Backbone入门书籍,从图书馆借来花了两天就把它看完了,因为这本书实在是写得太烂了!虽说国产的技术书多数都写得比较一般,但这种跟翔一样的书还是第一次见,还号称什么“Web开发专家撰写”。整本书都在解释Backbone每个API,每个API都附了简单到毫无...
由于项目重构需要而选择的Backbone入门书籍,从图书馆借来花了两天就把它看完了,因为这本书实在是写得太烂了!虽说国产的技术书多数都写得比较一般,但这种跟翔一样的书还是第一次见,还号称什么“Web开发专家撰写”。整本书都在解释Backbone每个API,每个API都附了简单到毫无...
由于项目重构需要而选择的Backbone入门书籍,从图书馆借来花了两天就把它看完了,因为这本书实在是写得太烂了!虽说国产的技术书多数都写得比较一般,但这种跟翔一样的书还是第一次见,还号称什么“Web开发专家撰写”。整本书都在解释Backbone每个API,每个API都附了简单到毫无...
由于项目重构需要而选择的Backbone入门书籍,从图书馆借来花了两天就把它看完了,因为这本书实在是写得太烂了!虽说国产的技术书多数都写得比较一般,但这种跟翔一样的书还是第一次见,还号称什么“Web开发专家撰写”。整本书都在解释Backbone每个API,每个API都附了简单到毫无...
用户评价
我花了整整一个周末的时间,沉浸在这本书的理论探讨中,不得不说,作者对于前端工程化和模块化思维的梳理,达到了一个令人耳目一新的高度。他们并未停留在简单的API罗列上,而是深入剖析了设计模式在实际项目中的应用场景,特别是针对异步数据流处理的那些章节,简直是醍醐灌顶。我一直以来在处理复杂状态管理时总觉得有些力不从心,而书中通过几个巧妙的案例,将“控制反转”和“依赖注入”的概念,与日常的组件生命周期紧密结合,提供了一套非常优雅的解决方案。这种从宏观架构到微观实现层层递进的讲解方式,极大地提升了我对整个技术栈的理解深度。书中还穿插了一些“陷阱”分析,预判了读者在实践中可能遇到的性能瓶颈和兼容性问题,并提前给出了规避策略,这种前瞻性的指导,是很多官方文档或教程所缺乏的。读完后,我感觉自己对如何构建一个可维护、高扩展性的前端应用,有了一个全新的、更坚实的心态基础。
坦白讲,我是一个非常注重实战效果的开发者,我最关心的是书中的例子能否直接在我的工作环境中落地。这本书在这方面做得相当出色,它提供的项目骨架和代码片段,并不是那种脱离实际的“玩具”代码,而是非常贴近真实企业级应用的需求。例如,关于路由切换时的过渡动画设计,书中不仅给出了代码,还细致地解释了如何利用CSS3的特性与JavaScript的事件监听完美配合,实现零卡顿的用户体验。另一个让我印象深刻的是,作者对于测试驱动开发的理念渗透得非常自然,每一个功能模块的讲解后,几乎都会附带一套简洁明了的单元测试示例,这对于提升代码质量有着立竿见影的效果。我尝试着将书中的一个数据绑定优化方案应用到我们线上的一个历史遗留模块中,结果内存占用显著下降,页面响应速度提升了至少30%。这种可量化的成果,是判断一本技术书价值的黄金标准,而这本书无疑交出了一份令人信服的答卷。
这本书的语言风格非常具有个人魅力,它不像某些技术书籍那样板着脸孔宣讲知识点,反而更像是一位经验丰富的前辈,在泡了一杯热茶后,耐心地与你交流心得体会。作者在阐述技术原理时,常常会引用一些历史典故或者生活中的类比,这极大地降低了复杂概念的学习门槛。比如,当解释“数据绑定”的单向和双向差异时,作者用“寄信”和“即时对话”做了比喻,一下子就让概念立体了起来。这种润物细无声的教学方式,让阅读过程充满了乐趣,几乎没有枯燥的背诵感。特别是对那些刚刚跨入高级前端开发领域的学习者来说,这本书起到了一个极佳的“翻译官”作用,它将那些晦涩难懂的学术术语,转化为可以被高效吸收和理解的知识块。我发现自己不仅学到了技术,连带着对技术问题的思考角度都变得更加灵活和人性化了。
这本书的排版和装帧设计简直是一场视觉盛宴,拿到手上就能感受到出版方对细节的极致追求。封面设计简洁却又不失深意,那种略带磨砂质感的纸张,握持起来非常舒适,让人爱不释手。内页的字体选择清晰易读,行距和字距的把握恰到好处,即便是长时间阅读,眼睛也不会感到过分疲劳。更值得称赞的是,书中大量的代码示例和图表部分,使用了高对比度的颜色和清晰的线条勾勒,即便是初次接触复杂架构图的读者,也能迅速捕捉到核心逻辑。对于我这种注重阅读体验的人来说,一本技术书籍如果能做到阅读的愉悦感和知识的深度并重,那无疑是加分项。翻阅这本书的过程,与其说是在学习技术,不如说是在享受一场精心策划的视觉导览,每一个章节的过渡都处理得极其自然流畅,这绝对是市面上许多技术书籍可以借鉴的典范。整体来看,无论是从纸张的克重、墨水的饱和度,还是到最终的装订工艺,都体现了出版商的匠心独白,让人感觉物超所值,值得珍藏。
关于本书的配套资源和后续支持体系,是我最为赞赏的一点。在书的最后部分,作者提供了一个详尽的GitHub仓库链接,里面包含了书中所有示例代码的完整版本,并且根据不同的技术栈版本做了清晰的标注和维护。更贴心的是,作者似乎非常关注读者的学习反馈,仓库中的`README.md`文件定期更新了常见问题的解答(FAQ),这些问题很多都是我在阅读过程中产生的疑惑,作者似乎已经预先替我们思考到了。这种开放和持续维护的态度,在许多一次性出版的技术书籍中是极其罕见的。它意味着这本书的价值并非截止于印刷的那一刻,而是在一个活跃的社区环境中持续增值。对于任何一本深度技术书籍而言,有一个可靠的“售后”保障是非常重要的,这体现了作者对知识分享的长期承诺,让人对未来的学习和进阶充满了信心。
就是一个中文的API,挺基础的。适合入门
就是一个中文的API,挺基础的。适合入门
作者结合了自己的例子将backbone的模块进行了介绍,适合初学者,高级程序员可能会感觉看文档也够了。
作者结合了自己的例子将backbone的模块进行了介绍,适合初学者,高级程序员可能会感觉看文档也够了。
很适合入门的教程