JavaScript Web应用开发

JavaScript Web应用开发
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [阿根廷] (Nicolas Bevacqua) ,
2015-09
版次: 1
ISBN: 9787115402103
定价: 59.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 270页
字数: 435千字
正文语种: 简体中文
15人买过
  •   《JavaScript Web应用开发》是面向一线开发人员的一本实用教程,对新的Web开发技术与程序进行了全面的梳理和总结,为JavaScript开发人员提供了改进Web开发质量和开发流程的新技术。本书主要分两大块,首先是以构建为目标实现JavaScript驱动开发,其次介绍如何管理应用设计过程中的复杂度,包括模块化、MVC、异步代码流、测试以及API设计原则。
      Nicolas Bevacqua,是JavaScript开源社区的活跃成员,自由Web开发者,关注模块化JavaScript、构建过程和新锐设计理念,偶尔进行公开演讲,还是一名充满激情的作家。他维护着多个开源项目,还开设了一个博客,发表关于Web、性能、渐进增强和JavaScript开发相关的文章,地址是ponyfoo.com。Nico现在和他的女友玛丽安一起生活在阿根廷布宜诺斯艾利斯。
    第一部分 构建过程
    第1章 构建优先  2
    1.1 问题出现了  2
    1.1.1 45分钟内每秒损失17万美元  3
    1.1.2 构建优先  3
    1.1.3 繁琐的前戏  4
    1.2 遵守构建优先原则,提前计划  5
    1.3 构建过程  7
    1.4 处理应用的复杂度和设计理念  8
    1.5 钻研构建优先原则  12
    1.5.1 检查代码质量  12
    1.5.2 在命令行中使用lint工具  15
    1.6 总结  18
    第2章 编写构建任务,制定流程  19
    2.1 介绍Grunt  20
    2.1.1 安装Grunt  21
    2.1.2 设置第一个Grunt任务  23
    2.1.3 使用Grunt管理构建过程  24
    2.2 预处理和静态资源优化  26
    2.2.1 详述预处理  26
    2.2.2 处理LESS  28
    2.2.3 打包静态资源  31
    2.2.4 简化静态资源  32
    2.2.5 创建子图集  34
    2.3 检查代码完整性  36
    2.3.1 清理工作目录  36
    2.3.2 使用lint程序检查代码  37
    2.3.3 自动运行单元测试  38
    2.4 首次自己编写构建任务  38
    2.5 案例分析:数据库任务  39
    2.6 总结  41
    第3章 精通环境配置和开发流程  42
    3.1 应用的环境  42
    3.1.1 配置构建模式  43
    3.1.2 环境层面的配置  47
    3.1.3 开发环境有什么特别之处  48
    3.2 配置环境  48
    3.2.1 瀑布式存储配置的方法  49
    3.2.2 通过加密增强环境配置的安全性  50
    3.2.3 使用系统级方式设置环境层面的配置  52
    3.2.4 在代码中使用瀑布式方法合并配置  53
    3.3 自动执行繁琐的首次设置任务  54
    3.4 在持续开发环境中工作  54
    3.4.1 监视变动,争分夺秒  55
    3.4.2 监视Node应用的变动  56
    3.4.3 选择一款合适的文本编辑器  57
    3.4.4 手动刷新浏览器已经过时了  58
    3.5 总结  58
    第4章 发布、部署和监控  59
    4.1 发布应用  60
    4.1.1 优化图像  60
    4.1.2 缓存静态资源  62
    4.1.3 内嵌对首屏至关重要的CSS  64
    4.1.4 部署前要测试  65
    4.2 预部署操作  65
    4.2.1 语义化版本  66
    4.2.2 使用更改日志  67
    4.2.3 提升版本号时提交更改日志  67
    4.3 部署到Heroku  68
    4.3.1 在Heroku的服务器中构建  70
    4.3.2 管理多个环境  71
    4.4 持续集成  71
    4.4.1 使用Travis托管的CI  72
    4.4.2 持续部署  73
    4.5 监控和诊断  74
    4.5.1 日志和通知  74
    4.5.2 调试Node应用  76
    4.5.3 分析性能  78
    4.5.4 运行时间和进程管理  78
    4.6 总结  79
    第二部分 管理复杂度
    第5章 理解模块化和依赖管理  82
    5.1 封装代码  83
    5.1.1 理解单一职责原则  84
    5.1.2 信息隐藏和接口  86
    5.1.3 作用域和this关键字  87
    5.1.4 严格模式  90
    5.1.5 提升变量的作用域  91
    5.2 JavaScript模块  92
    5.2.1 闭包和模块模式  92
    5.2.2 原型的模块化  93
    5.2.3 CommonJS模块  94
    5.3 管理依赖  95
    5.3.1 依赖图  95
    5.3.2 介绍RequireJS  98
    5.3.3 Browserify:在浏览器中使用CJS 模块  100
    5.3.4 Angular管理依赖的方式  100
    5.4 理解包管理  102
    5.4.1 Bower 简介  103
    5.4.2 大型库,小组件  104
    5.4.3 选择合适的模块系统  105
    5.4.4 学习循环依赖  105
    5.5 ECMAScript 6新功能简介  106
    5.5.1 在Grunt任务中使用Traceur  107
    5.5.2 Harmony中的模块  107
    5.5.3 创建块级作用域的let关键字  108
    5.6 总结  109
    第6章 理解JavaScript中的异步流程控制方法  110
    6.1 使用回调  110
    6.1.1 跳出回调之坑  111
    6.1.2 解开混乱的回调  112
    6.1.3 嵌套请求  114
    6.1.4 处理异步流程中的错误  116
    6.2 使用async库  119
    6.2.1 使用瀑布式、串行还是并行  119
    6.2.2 异步函数式任务  123
    6.2.3 异步任务队列  124
    6.2.4 制定流程和动态流程  125
    6.3 使用Promise对象  127
    6.3.1 Promise对象基础知识  127
    6.3.2 链接Promise对象  130
    6.3.3 控制流程  132
    6.3.4 处理被拒绝的Promise对象  133
    6.4 理解事件  134
    6.4.1 事件和DOM  134
    6.4.2 自己实现事件发射器  135
    6.5 展望:ES6生成器  138
    6.5.1 创建第一个生成器  138
    6.5.2 生成器的异步性  140
    6.6 总结  141
    第7章 使用模型-视图-控制器模式  142
    7.1 jQuery力不胜任  142
    7.2 在JavaScript中使用MVC模式  145
    7.2.1 为什么使用Backbone  146
    7.2.2 安装Backbone  147
    7.2.3 使用Grunt和Browserify编译Backbone模块  147
    7.3 介绍Backbone   148
    7.3.1 Backbone视图  149
    7.3.2 创建Backbone模型  152
    7.3.3 使用Backbone集合组织模型  154
    7.3.4 添加Backbone路由器  155
    7.4 案例分析:购物清单  157
    7.4.1 从静态购物清单开始  157
    7.4.2 添加删除按钮  159
    7.4.3 把物品添加到购物车中  161
    7.4.4 实现行内编辑  164
    7.4.5 服务层和视图路由  170
    7.5 Backbone和Rendr:服务器和客户端共享渲染  172
    7.5.1 Rendr简介  172
    7.5.2 理解Rendr 的样板代码  174
    7.5.3 一个简单的Rendr应用  176
    7.6 总结  182
    第8章 测试JavaScript组件  184
    8.1 JavaScript测试速成课  185
    8.1.1 隔离逻辑单元  185
    8.1.2 使用TAP  186
    8.1.3 编写第一个单元测试  186
    8.1.4 在浏览器中运行使用Tape编写的测试  187
    8.1.5 筹备、行动和断言  188
    8.1.6 单元测试  188
    8.1.7 便利性优于约定  189
    8.1.8 案例分析:为事件发射器编写单元测试  189
    8.1.9 测试事件发射器  190
    8.1.10 测试.on方法  192
    8.1.11 驭件、侦件和代理  193
    8.1.12 模拟  194
    8.1.13 介绍Sinon.js  195
    8.1.14 监视函数的调用情况  195
    8.1.15 代理require调用  196
    8.2 在浏览器中测试  198
    8.2.1 伪造XHR请求和服务器响应  198
    8.2.2 案例分析:测试DOM交互  200
    8.3 案例分析:为使用MVC模式开发的购物清单编写单元测试  209
    8.3.1 测试视图路由器  209
    8.3.2 测试视图模型的验证  214
    8.4 自动运行Tape测试  216
    8.4.1 自动运行浏览器中的Tape测试  217
    8.4.2 持续测试  218
    8.5 集成测试、外观测试和性能测试  218
    8.5.1 集成测试  219
    8.5.2 外观测试  219
    8.5.3 性能测试  220
    8.6 总结  221
    第9章 REST API设计和分层服务架构  222
    9.1 规避API设计误区  222
    9.2 学习REST API设计  223
    9.2.1 端点、HTTP方法和版本  224
    9.2.2 请求、响应和状态码  227
    9.2.3 分页、缓存和限流  229
    9.2.4 为API编写文档  231
    9.3 实现分层服务架构  232
    9.3.1 路由层  233
    9.3.2 服务层  233
    9.3.3 数据层  234
    9.3.4 路由层  234
    9.3.5 服务层  234
    9.3.6 数据层  235
    9.4 在客户端使用REST API  235
    9.4.1 请求处理层  236
    9.4.2 中止旧请求  236
    9.4.3 使用一致的方式处理AJAX错误  237
    9.5 总结  238
    附录A Node.js的模块  240
    附录B 介绍Grunt  242
    附录C 选择合适的构建工具  249
    附录D JavaScript代码质量指南  257
  • 内容简介:
      《JavaScript Web应用开发》是面向一线开发人员的一本实用教程,对新的Web开发技术与程序进行了全面的梳理和总结,为JavaScript开发人员提供了改进Web开发质量和开发流程的新技术。本书主要分两大块,首先是以构建为目标实现JavaScript驱动开发,其次介绍如何管理应用设计过程中的复杂度,包括模块化、MVC、异步代码流、测试以及API设计原则。
  • 作者简介:
      Nicolas Bevacqua,是JavaScript开源社区的活跃成员,自由Web开发者,关注模块化JavaScript、构建过程和新锐设计理念,偶尔进行公开演讲,还是一名充满激情的作家。他维护着多个开源项目,还开设了一个博客,发表关于Web、性能、渐进增强和JavaScript开发相关的文章,地址是ponyfoo.com。Nico现在和他的女友玛丽安一起生活在阿根廷布宜诺斯艾利斯。
  • 目录:
    第一部分 构建过程
    第1章 构建优先  2
    1.1 问题出现了  2
    1.1.1 45分钟内每秒损失17万美元  3
    1.1.2 构建优先  3
    1.1.3 繁琐的前戏  4
    1.2 遵守构建优先原则,提前计划  5
    1.3 构建过程  7
    1.4 处理应用的复杂度和设计理念  8
    1.5 钻研构建优先原则  12
    1.5.1 检查代码质量  12
    1.5.2 在命令行中使用lint工具  15
    1.6 总结  18
    第2章 编写构建任务,制定流程  19
    2.1 介绍Grunt  20
    2.1.1 安装Grunt  21
    2.1.2 设置第一个Grunt任务  23
    2.1.3 使用Grunt管理构建过程  24
    2.2 预处理和静态资源优化  26
    2.2.1 详述预处理  26
    2.2.2 处理LESS  28
    2.2.3 打包静态资源  31
    2.2.4 简化静态资源  32
    2.2.5 创建子图集  34
    2.3 检查代码完整性  36
    2.3.1 清理工作目录  36
    2.3.2 使用lint程序检查代码  37
    2.3.3 自动运行单元测试  38
    2.4 首次自己编写构建任务  38
    2.5 案例分析:数据库任务  39
    2.6 总结  41
    第3章 精通环境配置和开发流程  42
    3.1 应用的环境  42
    3.1.1 配置构建模式  43
    3.1.2 环境层面的配置  47
    3.1.3 开发环境有什么特别之处  48
    3.2 配置环境  48
    3.2.1 瀑布式存储配置的方法  49
    3.2.2 通过加密增强环境配置的安全性  50
    3.2.3 使用系统级方式设置环境层面的配置  52
    3.2.4 在代码中使用瀑布式方法合并配置  53
    3.3 自动执行繁琐的首次设置任务  54
    3.4 在持续开发环境中工作  54
    3.4.1 监视变动,争分夺秒  55
    3.4.2 监视Node应用的变动  56
    3.4.3 选择一款合适的文本编辑器  57
    3.4.4 手动刷新浏览器已经过时了  58
    3.5 总结  58
    第4章 发布、部署和监控  59
    4.1 发布应用  60
    4.1.1 优化图像  60
    4.1.2 缓存静态资源  62
    4.1.3 内嵌对首屏至关重要的CSS  64
    4.1.4 部署前要测试  65
    4.2 预部署操作  65
    4.2.1 语义化版本  66
    4.2.2 使用更改日志  67
    4.2.3 提升版本号时提交更改日志  67
    4.3 部署到Heroku  68
    4.3.1 在Heroku的服务器中构建  70
    4.3.2 管理多个环境  71
    4.4 持续集成  71
    4.4.1 使用Travis托管的CI  72
    4.4.2 持续部署  73
    4.5 监控和诊断  74
    4.5.1 日志和通知  74
    4.5.2 调试Node应用  76
    4.5.3 分析性能  78
    4.5.4 运行时间和进程管理  78
    4.6 总结  79
    第二部分 管理复杂度
    第5章 理解模块化和依赖管理  82
    5.1 封装代码  83
    5.1.1 理解单一职责原则  84
    5.1.2 信息隐藏和接口  86
    5.1.3 作用域和this关键字  87
    5.1.4 严格模式  90
    5.1.5 提升变量的作用域  91
    5.2 JavaScript模块  92
    5.2.1 闭包和模块模式  92
    5.2.2 原型的模块化  93
    5.2.3 CommonJS模块  94
    5.3 管理依赖  95
    5.3.1 依赖图  95
    5.3.2 介绍RequireJS  98
    5.3.3 Browserify:在浏览器中使用CJS 模块  100
    5.3.4 Angular管理依赖的方式  100
    5.4 理解包管理  102
    5.4.1 Bower 简介  103
    5.4.2 大型库,小组件  104
    5.4.3 选择合适的模块系统  105
    5.4.4 学习循环依赖  105
    5.5 ECMAScript 6新功能简介  106
    5.5.1 在Grunt任务中使用Traceur  107
    5.5.2 Harmony中的模块  107
    5.5.3 创建块级作用域的let关键字  108
    5.6 总结  109
    第6章 理解JavaScript中的异步流程控制方法  110
    6.1 使用回调  110
    6.1.1 跳出回调之坑  111
    6.1.2 解开混乱的回调  112
    6.1.3 嵌套请求  114
    6.1.4 处理异步流程中的错误  116
    6.2 使用async库  119
    6.2.1 使用瀑布式、串行还是并行  119
    6.2.2 异步函数式任务  123
    6.2.3 异步任务队列  124
    6.2.4 制定流程和动态流程  125
    6.3 使用Promise对象  127
    6.3.1 Promise对象基础知识  127
    6.3.2 链接Promise对象  130
    6.3.3 控制流程  132
    6.3.4 处理被拒绝的Promise对象  133
    6.4 理解事件  134
    6.4.1 事件和DOM  134
    6.4.2 自己实现事件发射器  135
    6.5 展望:ES6生成器  138
    6.5.1 创建第一个生成器  138
    6.5.2 生成器的异步性  140
    6.6 总结  141
    第7章 使用模型-视图-控制器模式  142
    7.1 jQuery力不胜任  142
    7.2 在JavaScript中使用MVC模式  145
    7.2.1 为什么使用Backbone  146
    7.2.2 安装Backbone  147
    7.2.3 使用Grunt和Browserify编译Backbone模块  147
    7.3 介绍Backbone   148
    7.3.1 Backbone视图  149
    7.3.2 创建Backbone模型  152
    7.3.3 使用Backbone集合组织模型  154
    7.3.4 添加Backbone路由器  155
    7.4 案例分析:购物清单  157
    7.4.1 从静态购物清单开始  157
    7.4.2 添加删除按钮  159
    7.4.3 把物品添加到购物车中  161
    7.4.4 实现行内编辑  164
    7.4.5 服务层和视图路由  170
    7.5 Backbone和Rendr:服务器和客户端共享渲染  172
    7.5.1 Rendr简介  172
    7.5.2 理解Rendr 的样板代码  174
    7.5.3 一个简单的Rendr应用  176
    7.6 总结  182
    第8章 测试JavaScript组件  184
    8.1 JavaScript测试速成课  185
    8.1.1 隔离逻辑单元  185
    8.1.2 使用TAP  186
    8.1.3 编写第一个单元测试  186
    8.1.4 在浏览器中运行使用Tape编写的测试  187
    8.1.5 筹备、行动和断言  188
    8.1.6 单元测试  188
    8.1.7 便利性优于约定  189
    8.1.8 案例分析:为事件发射器编写单元测试  189
    8.1.9 测试事件发射器  190
    8.1.10 测试.on方法  192
    8.1.11 驭件、侦件和代理  193
    8.1.12 模拟  194
    8.1.13 介绍Sinon.js  195
    8.1.14 监视函数的调用情况  195
    8.1.15 代理require调用  196
    8.2 在浏览器中测试  198
    8.2.1 伪造XHR请求和服务器响应  198
    8.2.2 案例分析:测试DOM交互  200
    8.3 案例分析:为使用MVC模式开发的购物清单编写单元测试  209
    8.3.1 测试视图路由器  209
    8.3.2 测试视图模型的验证  214
    8.4 自动运行Tape测试  216
    8.4.1 自动运行浏览器中的Tape测试  217
    8.4.2 持续测试  218
    8.5 集成测试、外观测试和性能测试  218
    8.5.1 集成测试  219
    8.5.2 外观测试  219
    8.5.3 性能测试  220
    8.6 总结  221
    第9章 REST API设计和分层服务架构  222
    9.1 规避API设计误区  222
    9.2 学习REST API设计  223
    9.2.1 端点、HTTP方法和版本  224
    9.2.2 请求、响应和状态码  227
    9.2.3 分页、缓存和限流  229
    9.2.4 为API编写文档  231
    9.3 实现分层服务架构  232
    9.3.1 路由层  233
    9.3.2 服务层  233
    9.3.3 数据层  234
    9.3.4 路由层  234
    9.3.5 服务层  234
    9.3.6 数据层  235
    9.4 在客户端使用REST API  235
    9.4.1 请求处理层  236
    9.4.2 中止旧请求  236
    9.4.3 使用一致的方式处理AJAX错误  237
    9.5 总结  238
    附录A Node.js的模块  240
    附录B 介绍Grunt  242
    附录C 选择合适的构建工具  249
    附录D JavaScript代码质量指南  257
查看详情
其他版本 / 全部 (1)
12
系列丛书 / 更多
JavaScript Web应用开发
机器学习实战
[美]Peter Harrington 著;李锐、李鹏、曲亚东 译
JavaScript Web应用开发
图灵程序设计丛书:Python基础教程
[挪威]Magnus Lie Hetland 著;司维、曾军崴、谭颖华 译
JavaScript Web应用开发
JavaScript高级程序设计(第3版)
[美]Nicholas C.Zakas 著;李松峰、曹力 译
JavaScript Web应用开发
Python编程:从入门到实践
[美]埃里克·马瑟斯(Eric Matthes) 著;袁国忠 译
JavaScript Web应用开发
R语言实战(第2版)
[美]卡巴科弗(Robert I. Kabacoff) 著;王小宁、刘撷芯、黄俊文 译
JavaScript Web应用开发
大数据:互联网大规模数据挖掘与分布式处理
[美]Anand、[美]Jeffrey David Ullman 著;王斌 译
JavaScript Web应用开发
算法(第4版)
[美]Robert、[美]Kevin Wayne 著;谢路云 译
JavaScript Web应用开发
Spark快速大数据分析
[美]卡劳(Holden Karau)、[美]肯维尼斯科(Andy Konwinski)、[美]温德尔(Patrick Wendell)、[加拿大]扎哈里亚(Matei Zaharia) 著;王道远 译
JavaScript Web应用开发
MySQL必知必会
[英]福塔(Ben Forta) 著;刘晓霞、钟鸣 译
JavaScript Web应用开发
图解HTTP
[日]上野·宣 著;于均良 译
JavaScript Web应用开发
Objective-C基础教程 第2版
[美]Scott、[美]Waqar、[美]Mark Dalrymple 著;周庆成 译
JavaScript Web应用开发
算法图解
袁国忠 译
相关图书 / 更多
JavaScript Web应用开发
Java程序设计任务驱动教程
黑马程序员
JavaScript Web应用开发
Java研发自测入门与进阶
林宁、魏兆玉
JavaScript Web应用开发
Java语言程序设计(2023年版)全国高等教育自学考试指导委员会
全国高等教育自学考试指导委员会
JavaScript Web应用开发
Java+OpenCV案例佳作选
姚利民
JavaScript Web应用开发
Java核心编程技术(第4版微课版新世纪应用型高等教育软件专业系列规划教材)
张屹、蔡木生 编
JavaScript Web应用开发
Java程序设计及实践应用研究
张萌,梁正,李真
JavaScript Web应用开发
Java Web及其框架技术
陈振兴
JavaScript Web应用开发
JavaScript多线程编程实践
(美)托马斯 亨特二世(Thomas Hunter II),(加拿大)布莱恩 英格利什(Bryan English)
JavaScript Web应用开发
Java开发坑点解析:从根因分析到最佳实践
朱晔
JavaScript Web应用开发
Java面向对象程序设计(题库·微课视频版)
梁胜彬 主编 渠慎明 白晨希 马华蔚 甘志华 程素营 副主编
JavaScript Web应用开发
Java程序设计(微课版新世纪应用型高等教育计算机类课程规划教材)
李月辉、李慧 编
JavaScript Web应用开发
Java到Kotlin:代码重构指南
(英)邓肯·麦格雷戈(Duncan McGregor)
您可能感兴趣 / 更多
JavaScript Web应用开发
Python贝叶斯建模与计算
[阿根廷] 奥斯瓦尔多·A. 马丁(Osvaldo A. Martin),[美]拉万·库马尔(Ravin Kumar)[美]劳俊鹏(Junpeng Lao)著 郭涛 译
JavaScript Web应用开发
埃莱娜知道(母女关系究竟是互利共生,还是窒息的牢笼?最亲密的家人有可能一夜之间变成敌人)
[阿根廷]克劳迪娅·皮涅伊罗
JavaScript Web应用开发
爱丽丝迷案(《牛津迷案》续作!由《爱丽丝梦游奇境》作者被撕掉的一页日记引发一连串犯罪案,斩获2019年纳达尔小说奖)
[阿根廷]吉列尔莫·马丁内斯
JavaScript Web应用开发
属于我们的夜晚(玛丽安娜.恩里克斯作品)
[阿根廷]玛丽安娜·恩里克斯(Mariana Enriquez)
JavaScript Web应用开发
塞萨尔·艾拉奇幻想象系列(套装全6册)
[阿根廷]塞萨尔·艾拉
JavaScript Web应用开发
丽塔·海华丝的背叛
[阿根廷]曼努埃尔·普伊格 后浪
JavaScript Web应用开发
G先生 孩子第一套好性格养成书(全6册):勇敢、独立、坚持、善于思考、热爱生活
[阿根廷]古斯塔沃·罗尔丹 著
JavaScript Web应用开发
快跑,狗狗“科学家”来了
[阿根廷]马丁·德·安布罗西奥 著;于杨 译
JavaScript Web应用开发
“鲸鳍”之旅——走进海洋哺乳动物
[阿根廷]路易斯·卡波佐 著;招阳秀玥 译;[阿根廷]伊塞格尔·伊格纳西奥·维拉绘
JavaScript Web应用开发
别怕,数学也可以很迷人
[阿根廷]巴普诺·阿姆斯特尔 著;李文雯 译
JavaScript Web应用开发
机器学习控制
[阿根廷]Thomas;Duriez
JavaScript Web应用开发
森林和山里有什么?
[阿根廷]亚尔·弗兰克尔