本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
商品基本信息,请以下列介绍为准 | |
商品名称: | Backbone.js应用程序开发 学ckbone.js应用开发,构建的JavaScript应用程序 |
作者: | [美]y Osmani |
定价: | 55.0 |
出版社: | 人民邮电出版社 |
出版日期: | 2013-03-01 |
ISBN: | 9787115356642 |
印次: | |
版次: | 01 |
装帧: | |
开本: | 小16开 |
内容简介 |
Backbone.js提供了一套Web开发的框架,为复杂的JavaScript应用程序提供了一个MVC结构。 《Backbone.js应用程序开发》详细介绍了如何使用Backbone.js完成Web应用开发。全书从了解MVC、SPA和Backbone.js的基本知识开始,然后着手构建3个示例应用程序。《Backbone.js应用程序开发》还介绍了Backbone和Grunt-BBB、jQuery Mobile等开发工具的配合使用,以及Jasmine、QUnit和SinonJS等测试解决方案。 《Backbone.js应用程序开发》的作者是知名的JavaScript专家、谷歌Chrome团队的工程师y Osmani。《Backbone.js应用程序开发》适合于JavaScript程序员、Web开发人员,尤其是想要学用Backbone.js的读者阅读参考。 |
目录 |
第1章 概述 1 1.1 什么是MVC 2 1.2 什么是Backbone.js 2 1.3 何时需要JavaScript MVC框架 3 1.4 为何考虑Backbone.js 4 1.5 设定预期目标 5 第2章 基本概念 8 2.1 MVC 8 2.1.1 Smalltalk-80 MVC 8 2.1.2 MVC应用于Web 9 2.1.3 客户端MVC和单页面应用程序 12 2.1.4 客户端MVC:Backbone风格 13 2.1.5 实现规范 16 2.2 MVC能带给我们什么 19 2.2.1 深究MVC 19 2.2.2结 20 2.2.3 延伸阅读 20 2.3 基本概况 20 2.3.1 Backbone.js 20 2.3.2 使用案例 21 第3章 Backbone基础 25 3.1 准备开始 25 3.2 模型(Model) 26 3.2.1 初始化 27 3.2.2 默认值 27 3.2.3 赋值与取值 28 3.2.4 监听模型变化 30 3.2.5 验证 32 3.3 视图(View) 33 3.3.1 创建视图 33 3.3.2 el是什么 34 3.4 集合(Collection) 39 3.4.1 添加和移除模型 40 3.4.2 检索模型 40 3.4.3 事件监听 42 3.4.4 重置和刷新集合 44 3.4.5 Under实用函数 45 3.4.6 链式API 49 3.5 RESTful持久化 50 3.5.1 从服务器上获取模型 50 3.5.2 保存模型到服务器 50 3.5.3 从服务器删除模型 51 3.5.4 选项 52 3.6 事件(Event) 52 3.6.1 on()、off()和trigger() 53 3.6.2 listenTo()和stopListening() 56 3.6.3 事件与视图 57 3.7 路由(Router) 58 3.8 Backbone同步API 63 3.9 依赖文件 67 3.10结 67 第4章 练Todos——个Backbone.js应用程序 68 4.1 静态HTML 69 4.1.1 HTML头部和Script脚本 69 4.1.2 应用程序HTML 70 4.1.3 模板 71 4.2 Todo模型 72 4.3 Todo集合 72 4.4 应用程序视图(AppView) 74 4.5 独立的待办项视图(TodoView) 79 4.6 程序启动 81 4.7 实战操作 82 4.8 标记完成或删除todo项 84 4.9 Todo路由 86 4.10结 88 第5章 练Book Library——个RESTful风格的Backbone.js应用程序 89 5.1 程序建立 89 5.2 界面布局 96 5.2.1 添加模型 96 5.2.2 删除模型 97 5.3 创建后端系统 98 5.3.1 安装Node.js、npm、MongoDB 98 5.3.2 安装Node模块 99 5.3.3 创建简单的Web服务器 99 5.3.4 连接到数据库 102 5.4 和服务器通信 108 5.5结 113 第6章 Backbone扩展 114 6.1 MarionetteJS(Backbone.Marionette) 114 6.1.1 Boilerte渲染代码 116 6.1.2 使用Marionette.ItemView减少Boilerte 117 6.1.3 内存管理 117 6.1.4 区域管理 120 6.1.5 Marionette Todo应用程序 122 6.1.6 Todo应用程序的Marionette实现更具可维护性吗? 132 6.1.7 Marionette与灵活性 132 6.1.8 更多特性 134 6.2 Thorax 134 6.2.1 Hello World 134 6.2.2 嵌入子视图 135 6.2.3 视图助手 136 6.2.4 集合助手 137 6.2.5 自定义HTML Data属性 138 6.2.6 Thorax资源 139 6.3结 140 第7章 常见问题和解决方案 141 7.1 使用嵌套视图 141 7.1.1 问题 141 7.1.2 解决方案1 141 7.1.3 解决方案2 142 7.1.4 解决方案3 143 7.1.5 解决方案4 143 7.2 在嵌套视图中管理模型 145 7.2.1 问题 145 7.2.2 解决方案 145 7.3 在子视图中渲染父视图 146 7.3.1 问题 146 7.3.2 解决方案 146 7.4 消除视图层级结构 147 7.4.1 问题 147 7.4.2 解决方案 147 7.5 渲染视图层级结构 148 7.5.1 问题 148 7.5.2 解决方案 148 7.6 使用嵌套模型或嵌套集合 149 7.6.1 问题 149 7.6.2 解决方案 149 7.7 更好的模型属性验证 150 7.7.1 问题 150 7.7.2 解决方案 150 7.7.3 Backbone.validateAll 152 7.7.4 Backbone.Validation 154 7.7.5 特定表单验证类 155 7.8 避免多个Backbone版本的冲突 155 7.8.1 问题 155 7.8.2 解决方案 155 7.9 构建层级模型和层级视图 156 7.9.1 问题 156 7.9.2 解决方案 156 7.9.3 调用重载方法 157 7.9.4 Backbone-Super 159 7.10 事件聚合器和中介者 159 7.10.1 问题 159 7.10.2 解决方案 160 7.10.3 事件聚合器 160 7.10.4 中介者 161 7.10.5 相似性与差异性 162 7.10.6 关系:何时用,用哪个 163 7.10.7 事件聚合器与中介器一起使用 164 7.10.8 模式语言:语义 165 第8章 模块化开发 166 8.1 使用RequireJS和AMD组织模型 166 8.1.1 多个脚本文件的可维护性问题 167 8.1.2 需要更好的依赖管理 167 8.1.3 异步模块定义(AMD) 168 8.1.4 使用RequireJS编写AMD模块 168 8.1.5 RequireJS入门 170 8.1.6 Require.js/Backbone示例 172 8.1.7 使用RequireJS和Text插件将模板保持在外部 176 8.1.8 使用RequireJS优化生产环境中的Backbone应用 177 8.2结 180 第9章 练个模块化的Backbone/RequireJS应用程序 181 9.1 概述 181 9.2 HTML代码 182 9.3 配置选项 183 9.4 模块化模型、视图、集合 184 9.5 基于路由的模块加载 189 9.5.1 基于JSON的模块配置 189 9.5.2 模块加载器 190 9.5.3 使用NodeJS处理pushState 191 9.6 另外一种依赖管理方式 192 第10章 对Backbone.js请求和集行分页 193 10.1 Backbone.Paginator 194 10.2 Paginator.requestPager 195 10.3 Paginator.clientPager 199 10.3.1 便利方法 202 10.3.2 实现备注 204 10.3.3 插件 205 10.3.4 引导 206 10.3.5 样式化 207 10.4结 208 第11章 Backbone Boilerte和Grunt-BBB 209 11.1 准备开始 211 11.2 创建新项目 211 11.2.1 index.html 212 11.2.2 config.js 213 11.2.3 main.js 215 11.2.4 app.js 216 11.2.5 创建Backbone样板模块 218 11.2.6 router.js 220 11.3 其他有用的工具和项目 221 11.3.1 Yeoman 221 11.3.2 Backbone DevTools 223 11.4结 223 第12章 Backbone和jQuery Mobile 224 12.1 使用jQuery Mobil行移动应用开发 224 12.1.1 jQMobile部件增强原则 225 12.1.2 理解jQuery Mobile导航 226 12.2 Backbone应用的基础设置(用于jQuery Mobile) 227 12.3 Backbone和jQueryMobile的工作流程 230 12.3.1 路由到具体视图页面,继承于BasicView 231 12.3.2 移动页面模板的管理 232 12.3.3 DOM管理与$.mobile.changePage 234 12.4 在Backbone上应用jQM高级技术 237 12.4.1 动态DOM脚本 237 12.4.2 拦截jQuery Mobile事件 239 12.4.3 性能 240 12.4.4 智能的台支持管理 241 第13章 Jasmine 246 13.1 行为驱动开发 246 13.2 suite、spec以及spie 248 13.3 beforeEach()和afterEach() 252 13.4 共享作用域 254 13.5 准备开始 255 13.6 TDD与Backbone 256 13.7 模型 256 13.8 集合 258 13.9 视图 260 13.10 练68 13.11 延伸阅读 268 13.12结 268 第14章 QUnit 269 14.1 准备开始 269 14.2 断言 272 14.2.1 使用test(name, callback)编写基础测例 272 14.2.2 比较函数的实际输出和期望输出 273 14.3 为断言添加结构 273 14.3.1 QUnit基本模块 273 14.3.2 使用setup()和teardown() 274 14.3.3 使用setup()和teardown()用于初始化和清理工作 274 14.4 断言示例 275 14.5 Fixtures 276 14.6 异步代码 279 第15章 SinonJS 281 15.1 SinonJS概述 281 15.1.1 基础spy 282 15.1.2 在现有函数上监听 282 15.1.3 检测接口 282 15.2 与mock 284 15.2.tub 284 15.2.2 mock 285 15.3 练86 15.3.1 模型 286 15.3.2 集合 288 15.3.3 视图 289 15.3.4 App 290 15.4 延伸阅读与资源 291 第16章 结论 293 附录A 延伸学95 附录B 资源 313 封面介绍 316 |
媒体评论 |
Backbone.js提供了一套Web开发的框架,为复杂JavaScript应用程序提供一个MVC结构,是当前JavaScript开发的热点。 y Osmani,本书的作者是知名的JavaScript专家、谷歌Chrome团队的工程师,知名的博客作家,也是《JavaScript设计模式》一书的作者。 如果你想使用单页应用程序(SPA)模型创建前端站点,本书向你展示了如何使用Backbone.js完成这类工作。你将学会使用Backbone自有风 格的模型-视图-控制器(MVC)架构,来创建结构化的JavaScript应用程序。 本书先从了解MVC、SPA和Backbone的基本知识开始,然后着手构建示例应用程序——一个简单的Todo列表应用程序、RESTful风格的图书应用程序、以及使用Backbone和RequireJS的模块化应用程序。本书的作者是谷歌Chrome团队的工程师y Osmani,他还演示了框架的高级应用。 本括以下内容: 了解Backbone.js如何给客户端带来MVC方面的好处; 编写易于阅读的、结构化的和易扩展代码 ; 使用Backbone.Marionette和Thorax扩展框架; 解决使用Backbone.js时会遇到的常见问题; 使用AMD和RequireJS将代行模块化组织; 使用Backbone.Paginator插件为Collections数据分页; 使用样板代码引导新的Backbone.js应用程序; 使用jQuery Mobile,并解决两者之间的路由问题; 使用Jasmine、QUnit和SinonJS对Backbone应行单元测试。 “编写Web应用程序是一个复杂的过程,但Osmani却能用Backbone.js将这些片段分解成简单、可管理的部分。本书为读者提供设计、部署、和测试复杂Web应用程序的基础和结构。” ——Samuel Clay,NewsBlur创始人 “要编写可扩展、可维护、富数据的Web应用程序,你需要使用Backbone.js。” ——Marc Friedman,美国康普公司高级资深软件工程师 |
作者简介 |
y Osmani,本书的作者是知名的JavaScript专家、谷歌Chrome团队的工程师,他对JavaScript应用程序架构有着强烈的爱好,还创建了一些比较流行的项目,如TodoMVC,并且对Yeoman、Modernizr和jQuery等其他开源项目也有重要贡献。除此之外,y Osmani也是一位高产的博主,同时也是O'reilly出版的《JavaScript设计模式》一书的作者。 徐涛,资深Web开发工程师,精通JavaScript、CSS、HTML5等Web开发技术,以及Bootstrap等各种主流Web开发框架。擅长Web系统的架构、设计与开发,参与过优选优选婚恋网站Match、优选优选在线旅游网站Expedia、波音公司、GE和万达集团等多个靠前知名企业的Web项目的架构与设计。他还是一位资深的微软技术专家,曾获得MCP、MCTS、MCDBA十项认证。翻译了《JavaScript编程精解》等多本JavaScript方面的著作。 |