首页>参考读物>计算机科学与技术>软件与程序设计

Backbone.js开发秘笈
作者 : (乌克兰)Vadim Mirgorod 著
译者 : 王宇 译
丛书名 : Web开发技术丛书
出版日期 : 2014-04-25
ISBN : 978-7-111-46080-0
定价 : 49.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 226
开本 : 16
原书名 : Backbone.js Cookbook
原出版社: Packt Publishing Ltd.
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书介绍了Backbone.js Cookbook contains a series of recipes that provide practical, step-by-step solutions to the problems that may occur during frontend application development using an MVC pattern. You will learn how to build Backbone applications utilizing the power of popular Backbone extensions and integrating your app with different third party libraries. You will also learn how to fulfill the requirements of the most challenging tasks

图书特色

前勒口
Backbone.js是一个轻量级的JavaScript框架,其精简的核心功能使得新的开发人员非常容易上手,灵活的插件机制可以保证复杂和个性化功能的实现。本书系统地介绍使用Backbone.js开发Web应用应该掌握的知识,对其背后的实现原理进行了抽丝剥茧式的分析,并且涵盖一些时下非常流行的技术,如REST,HTML 5以及移动应用开发等。全书自始至终都在力争使用简洁的语言、清晰的格式以及丰富的实例来帮助读者进行高效的学习。无论是对于Web前端开发的新手还是经验丰富的专业人员而言,通过阅读本书都能受益匪浅。
全书共8章,全面而系统地介绍了MVC模式和Backbone.js框架,讲解了如何使用易于管理的集合来组织多个模型,如何使用Backbone的视图来渲染模型和集合,如何捕获DOM事件,如何将模型和集合与RESTful架构的后端系统相互同步,以及如何把它们存储在HTML 5的本地存储当中等内容。书中不仅通过丰富的实例阐述Backbone.js基本知识及使用方法,还针对创建扩展插件、测试应用程序、创建移动应用等Backbone开发过程中比较具有挑战性的问题,提供了具体的解决方案。
封面
资深Web技术专家撰写,全面而系统阐述用Backbone.js开发Web应用所需的知识、技术和实用技巧
以80多个实用案例,深刻剖析Backbone.js开发的常见问题,涵盖REST、HTML 5和移动应用开发等时下非常流行的技术,是高效学习Backbone.js的必备参考
封底
随着HTML 5所带来的更加丰富的渲染能力、瘦客户端到胖客户端的转变以及REST风格的通信方式的运用,这些新生的技术已经逐步替代传统的基于浏览器插件技术的开发方法,并且开创了互联网应用开发的新纪元。借助于Backbone.js,开发人员可以很容易地开发出轻量级、模块化、可扩展的JavaScript应用程序。
本书通过80多个实用案例,详细地阐述在使用MVC模式和REST风格的通信方式开发前端应用的过程中可能遇到的问题,并且就这些问题给出了实用且循序渐进的解决方案。通过阅读本书,你还将学习到如何充分利用各种流行的Backbone扩展插件来开发Backbone应用,以及如何把各种来自第三方的库集成到所开发的应用当中。
本书主要内容
应用MVC模式,设计并构建动态的Web应用程序
使用Backbone的模型和集合为业务逻辑建模
使用Backbone的视图渲染数据
在应用程序中进行URL路由
与RESTful服务进行通信
使用HTML 5的本地存储来存放模型与集合
对Backbone应用程序进行优化和测试
开发自己的Backbone扩展插件
使用jQueryMobile和PhoneGap来创建移动应用
后勒口
作者简介
Vadim Mirgorod?资深Web技术专家、开源领域专家,现为CoderBlvd主管。他之前曾在顿涅茨克国立工业大学讲授Web开发课程,在Trellon公司担任首席开发工程师,负责使用Drupal和PHP开发各种基于CRM的系统以及Web应用程序。他对技术和创新总是充满热情,是一名活跃的社区成员,积极地组织各种IT活动,并且多次在各种国际会议上发表演讲。他为内容管理系统Drupal贡献过代码,并且还负责维护多个Backbone.js的插件。
技术审校
Ivano Malavolta?拉奎拉大学信息工程、计算机科学与数学系的研究员,目前从事移动应用开发、软件架构和模型驱动工程相关领域的研究工作。
Jan Carlo Viray?一位兼有业务和Web开发背景的雄心勃勃的企业家。他一直专注于前端开发工作,并且在 .NET、PHP和Node.js方面有着丰富的经验。

图书前言

欢迎选择本书。本书将学习如何使用这个名为Backbone.js的轻量级JavaScript框架,并学习如何充分利用现代浏览器更加强大的渲染能力来创建优秀的Web应用。
本书涵盖了一系列的小节,详细阐述了在使用MVC模式以及REST风格的通信方式开发前端应用的过程中可能遇到的问题,并且就这些问题给出了实用且循序渐进的解决方案。在本书中读者还将学习到如何充分利用各种流行的Backbone扩展插件来开发Backbone应用,以及如何把各种来自第三方的库集成到所开发的应用当中。此外,读者还将学习到如何实现各种具有挑战性的任务。
内容简介
第1章 向读者介绍了MVC模式和Backbone.js框架。读者将学习如何以MVC的方式设计Backbone应用,并且能够使用模型、视图和路由器来创建第一个Backbone应用。
第2章 帮助读者了解Backbone的模型对象Backbone.Model。它是应用程序主要的构建单元,负责存储数据以及实现业务逻辑。
第3章 讲解了如何使用易于管理的集合来组织多个模型。它提供了执行诸如排序、过滤和遍历这样的集合的操作能力。
第4章 帮助读者了解如何使用Backbone的视图来渲染模型和集合,以及如何捕获DOM事件。
第5章 介绍了Backbone.js中所用到的事件系统以及事件绑定技术。
第6章 本章关注改善Backbone前端应用的方法,使之看起来更加美观,而且开发起来更加容易。
第7章 着重介绍了Backbone.js是如何将模型和集合与RESTful架构的后端系统相互同步的,以及如何把它们存储在HTML5的本地存储当中。
第8章 帮助读者学习如何解决在Backbone开发过程中最具有挑战性的那些问题,例如创建扩展插件、应用的测试、创建移动应用以及如何使我们的应用与搜索引擎兼容,等等。
阅读本书的准备工作
本书中的大部分章节并不需要使用特殊的软件。你只需要有一个浏览器和一个用于编辑HTML、JavaScript和CSS文件的文本编辑器或IDE即可。但在第7章与第8章部分小节中,会需要安装GIT、Node.js和NPM,并且还需要一个类似于UNIX那样的shell环境。
本书读者对象
本书适用于熟悉JavaScript、HTML以及CSS的前端应用开发人员,并假定读者对面向对象编程(OOP)有很好的理解而且具备一些jQuery库的使用经验。
格式约定
在本书中我们使用了一些不同的文字样式来区分不同类别的信息。下面是一些有关这些样式的具体例子及解释说明。
代码段会设置成如下样式:

当一段代码中的部分内容需要引起读者注意的时候,相关的代码行或条目会设置成粗体:

下面这样的样式表示命令行的输入或输出:

客户支持
你现在已经拥有了一本Packt出版的书籍,为使你从中获得最大的收获,我们还提供了以下的服务。
下载实例代码
所有使用http://www.packtpub.com账号购买Packt出版书籍的读者,可以下载包含实例代码的文件。如果你从其他地方购买了本书,请访问http://www.packtpub.com/support并完成注册,随后我们会将实例代码文件直接通过邮件发送给你。
勘误
虽然我们已尽一切所能来保证内容的准确性,但错误有时在所难免。如果你在我们出版的任何一本书中发现错误,不管是文章段落中的错误还是代码中的错误,都请你通知我们。这样做既能够改善其他读者的阅读体验,又能够对本书后续版本的改进提供帮助。如果你发现任何错误,请通过http://www.packtpub.com/submit-errata报告给我们。具体做法是先选择书籍名称,然后单击errata submission form的链接,最后输入你所发现的错误的具体细节。一旦你提交的勘误信息通过了验证,我们会把它上传到我们的网站或者加到书籍现有的勘误表中。你可以通过在http://www.packtpub.com/support上选择书籍名称来浏览目前所有的勘误信息。
问题
如果你对本书有任何疑问,请通过questions@packtpub.com联系我们,我们将尽可能地为你解答。
致  谢
首先我要感谢Packt出版社的Mary Nadar、Anish Ramchandani、Kranti Berde和Dayan Hyames。他们使我能够有机会创作个人的第一本书,并且在整个过程中给予我很多耐心的指导和鼓励。
其次我还要感谢审阅组的Jan Carlo Viray和Ivano Malavolta给我的巨大帮助。他们带来的专业见解使得本书对读者更有价值。
感谢Backbone.js社区中曾为我快速解答问题的所有人们。还要感谢mongolab.com的同事所提供的服务。
非常感谢Trellon公司的CEO Michael Haggerty准许我花大量时间来完成此书,并审阅了部分章节。
最后,我要向一直支持我、相信我的妻子Julia和我的儿子Artem表达我的爱意和感谢。

上架指导

计算机\Web设计

封底文字

随着HTML5所带来的更加丰富的渲染能力、瘦客户端到胖客户端的转变以及REST风格的通信方式的运用,这些新生的技术已经逐步替代传统的基于浏览器插件技术的开发方法,并且开创了互联网应用开发的新纪元。凭借着Backbone.js的帮助,开发人员现在可以很容易开发出轻量级、模块化、可扩展的JavaScript应用程序。
  本书通过80多个实用案例,详细地阐述在使用MVC模式和REST风格的通信方式开发前端应用的过程中可能遇到的问题,并且就这些问题给出了实用且循序渐进的解决方案。通过阅读本书,你还将学习到如何充分利用各种流行的Backbone扩展插件来开发Backbone应用,以及如何把各种来自第三方的库集成到所开发的应用当中。
   
   本书主要内容
应用MVC模式,设计并构建动态的Web应用程序
使用Backbone的模型和集合为业务逻辑建模
使用Backbone的视图渲染数据
在应用程序中进行URL路由
与RESTful服务进行通信
使用HTML5的本地存储来存放模型与集合
对Backbone应用程序进行优化和测试
开发自己的Backbone扩展插件
使用jQueryMobile和PhoneGap来创建移动应用

作者简介

(乌克兰)Vadim Mirgorod 著:Vadim Mirgorod 资深Web技术专家、开源领域专家,现为CoderBlvd主管。他之前曾在顿涅茨克国立工业大学讲授Web开发课程,在Trellon公司担任首席开发工程师,负责使用Drupal和PHP开发各种基于CRM的系统以及Web应用程序。他对技术和创新总是充满热情,是一名活跃的社区成员,积极地组织各种IT活动,并且多次在各种国际会议上发表演讲。他为内容管理系统Drupal贡献过代码,并且还负责维护着数个Backbone.js的插件。

译者简介

王宇 译:暂无简介

译者序

无可否认,我们正处在一个大变革的时代,从云计算到大数据,从社交网络再到物联网,大量的新技术、新平台,甚至全新的服务模式好像一下子全都浮出了水面,大有“百舸争流,千帆竞发”的势头。而在这中间,Web开发技术的变革则格外引人注目。只是短短几年的光景,Web 2.0、RIA以及SPA(单页面应用)似乎已经变成了标配,而HTML 5和CSS 3也在被越来越多地用在实际的项目中。与这种快速发展伴生而来的则是大量功能各异、繁简不一的Web开发框架的涌现。面对它们,不知道您是不是也曾有过和我类似的复杂感觉,激动但又茫然,热血澎湃却又无所适从。
  作为一位轻度选择恐惧症患者和一名一线架构师,我在实际工作中一直在试图找到这么一种Web前端开发框架,希望它既灵活又优雅,在做到简单易用的同时却不失功能上的强大。但最后我失望地发现,这种“包治百病”式的框架或许根本不存在,至少我目前还没有见过,还是要根据项目的具体需求以及开发人员的专业能力来进行权衡取舍。在这个过程中,我发现Backbone.js通常是一个非常不错的选择,尤其是对于那些全栈工程师来说。一方面,它精简的核心功能使得新的开发人员非常容易上手;另一方面,它灵活的插件机制保证了复杂以及个性化功能的实现。在这个到处充斥着各种秉承“大而全”理念,实则有些“过度设计”的前端框架的大环境中,Backbone.js允许我们回到框架的本源,以一种简单且自由的方式来构建我们的Web应用。
  本书系统地介绍了应用Backbone.js开发Web应用应该掌握的知识,对其背后的实现原理进行了抽丝剥茧式的分析,并且还涵盖了一些时下非常流行的技术,例如REST、HTML 5以及移动应用开发等。全书自始至终都在力争使用简洁的语言、清晰的格式以及丰富的实例来帮助读者进行高效的学习。无论是对于Web前端开发的新手还是经验丰富的专业人员而言,我相信通过阅读本书都将使您获得不同的收获。
  感谢机械工业出版社华章分社的编辑们对我的信任、鼓励和指导,感谢我的领导诸赞松、于宝东给予的大力支持,最后还要特别感谢家人的支持和理解。

王宇
2014年3月于北京

图书目录

译者序
前 言
致 谢
第1章 理解Backbone 1
1.1 导论 1
1.2 使用MVC模式设计应用 2
1.3 使用模型与集合定义业务逻辑 5
1.4 使用视图与路由器为应用的行为建模 8
1.5 从零开始建立一套应用程序结构 12
1.6 编写第一个Backbone应用 13
1.7 在应用中实现URL路由 16
1.8 使用插件来扩展应用 19
1.9 如何参与Backbone项目 20
第2章 模型 21
2.1 导论 21
2.2 创建一个模型 21
2.3 模型属性的操作 24
2.4 模型标识符的操作 25
2.5 模型属性的验证 26
2.6 重写getters与setters方法 28
2.7 通过创建撤销点来保存或恢复模型的状态 31
2.8 模型中工作流的实现 34
2.9 在模型中使用高级的验证方式 38
2.10 验证HTML表单 42
2.11 在模型中使用嵌套属性 45
2.12 实现模型间一对一的关系 47
第3章 集合 51
3.1 导论 51
3.2 创建模型的集合 52
3.3 使用索引从集合中获取模型 53
3.4 使用ID从集合中获取模型 54
3.5 为集合添加一个模型 54
3.6 从集合中移除一个模型 56
3.7 以栈或队列的方式使用集合 56
3.8 对集合进行排序 57
3.9 对集合中的模型进行过滤 58
3.10 对集合进行遍历 59
3.11 集合的链式操作 61
3.12 在集合上执行NoSQL查询 62
3.13 在同一个集合中存储不同类型的模型 66
3.14 实现一对多的关系 68
第4章 视图 73
4.1 导论 73
4.2 渲染视图 73
4.3 使用jQuery处理视图元素 77
4.4 对视图中的模型进行渲染 78
4.5 对视图中的集合进行渲染 80
4.6 将视图拆分成子视图 81
4.7 处理视图的文档对象模型(DOM)事件 84
4.8 使用Backbone.Router在视图间进行切换 88
第5章 事件及其绑定 92
5.1 导论 92
5.2 在Backbone.js中管理事件 92
5.3 处理Backbone对象的事件 94
5.4 把模型绑定到视图 96
5.5 把集合绑定到视图 98
5.6 使用Backbone.stickit进行双向绑定 104
5.7 把模型与集合绑定到下拉列表 108
5.8 在视图中处理快捷键 111
5.9 处理路由器事件 112
第6章 模板及其他用户界面的相关技术 114
6.1 导论 114
6.2 在视图中使用模板 114
6.3 实现一个模板加载器 117
6.4 使用Mustache模板 119
6.5 定义表单 121
6.6 为表单添加验证功能 124
6.7 处理表单事件 126
6.8 使用Bootstrap框架定制一个表单 128
6.9 使用LayoutManager构建页面布局 132
6.10 创建语义化及风格化的数据表格 136
6.11 使用HTML5的画布元素进行绘图 142
第7章 REST及存储 146
7.1 导论 146
7.2 为后端应用构建REST API 147
7.3 使用MongoLab创建一个RESTful后端应用的原型 148
7.4 与RESTful服务同步模型和集合 151
7.5 使用Backbone创建一个RESTful服务的前端应用 155
7.6 使用轮询技术来获取数据 165
7.7 使用HTML5本地存储 170
第8章 其他相关技术 172
8.1 导论 172
8.2 在Backbone对象中使用mixin 173
8.3 使用Grunt创建一个Backbone.js的扩展插件 174
8.4 使用QUnit为Backbone扩展插件编写测试用例 178
8.5 使用jQuery Mockjax模拟一个RESTful服务来进行异步测试 182
8.6 使用jQuery Mobile开发移动应用 184
8.7 使用PhoneGap创建iOS/Android应用 193
8.8 使用Require.js组织项目结构 196
8.9 使应用与搜索引擎相兼容 204
8.10 避免Backbone应用中的内存泄漏 209

教学资源推荐
作者: 贾伯琪 顾为兵 苏仕华 张四海 何克东 编著
作者: [美]加里·R. 赖特(Gary R. Wright),W. 理查德·史蒂文斯(W. Richard Stevens) 著
参考读物推荐
作者: [德]延斯·古斯泰特(Jens Gustedt) 著
作者: 霍丙乾 著
作者: (美)布雷特·斯拉特金(Brett Slatkin)著