当前位置:首页 > 工业技术
大型JavaScript应用最佳实践指南
大型JavaScript应用最佳实践指南

大型JavaScript应用最佳实践指南PDF电子书下载

工业技术

  • 电子书积分:10 积分如何计算积分?
  • 作 者:(加)亚当·博达哈(Adam Boduch)
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:9787121307065
  • 页数:216 页
图书介绍:本书将带你设计和实现能从多个维度(如寻址能力、可配置性和性能)可伸缩的JavaScript的应用程序体系架构;了解常见的JavaScript缩放陷阱,并通过真实的解决方案和策略解决这些问题。内容包括:确定和评估应用程序的外部扩展影响力,创建构成大规模JavaScript应用程序的组件,对可扩展组件间的通信进行设计,设计一个不受限于环境的便携的且可测试的应用程序,等等。
《大型JavaScript应用最佳实践指南》目录

1 扩展JavaScript应用 1

影响扩展的因素 2

对可扩展的需要 2

不断增长的用户 3

添加新功能 3

雇佣更多的开发者 4

架构角度 5

浏览器是一个独特的环境 5

组件设计 7

组件通信 7

加载时间 8

响应性 9

可寻址性 9

可配置性 10

架构性取舍 11

确定不可变内容 11

从开发的便捷性考虑性能 11

性能的可配置性 12

从可替换性考虑性能 13

可寻址性的开发便捷性 13

性能的可维护性 13

减少功能以提高可维护性 14

利用框架 15

框架与类库 16

一致地实现模式 16

内建的性能 16

利用社区智慧 16

框架并非天生支持扩展 17

小结 17

2 可扩展性的影响因素 19

扩展用户 20

许可证费用 20

订阅费用 21

消耗费用 21

广告支持 21

开源 22

与用户沟通 23

支持机制 24

反馈机制 25

提示用户 26

用户维度 26

扩展用户示例 27

扩展功能 28

应用价值 28

“杀手级”功能与“杀死”应用的功能 29

数据驱动的功能 30

与竞品比较 30

修改已有的功能 31

支持用户分组和角色 32

增加新服务 32

扩展功能示例 34

开发的可扩展性 34

寻找开发资源 35

开发职责 36

资源过多 36

扩展开发示例 37

影响因素检查表 37

用户检查清单 38

功能清单 39

开发者清单 41

小结 41

3 组件组合 43

通用组件 44

模块 44

路由器 46

模型/集合 50

控制器/视图 53

模板 55

应用特定的组件 56

扩展通用组件 56

识别公用数据、功能 56

扩展路由器组件 57

扩展模型/集合 58

扩展控制器/视图 59

将功能映射到组件 60

通用功能 61

特定功能 61

解构组件 62

维护和调试组件 62

重构复杂组件 64

可插拔的业务逻辑 64

扩展与配置 65

无状态的业务逻辑 65

组织组件代码 66

小结 67

4 组件的通信与职责 69

通信模型 69

消息传递模型 70

事件模型 70

通信数据结构 71

命名约定 71

数据格式 72

公共数据 73

可追踪的组件通信 74

订阅事件 74

全局事件日志 74

事件的生命周期 77

通信的开销 77

事件的频率 78

回调函数执行时间 80

事件复杂度 81

通信责任区 82

后端API 82

Web Socket用于更新状态 83

DOM更新 85

松耦合的通信 86

替换组件 86

应对意外事件 87

组件分层 90

事件流向 90

开发者的职责 91

构建代码思维导图 91

小结 92

5 寻址和导航 93

实现路由的方法 93

Hash URI 94

传统URI 94

路由是如何工作的 95

路由的职责 95

路由事件 96

URI的结构和模式 96

编码信息 97

设计URI 97

将资源映射到URI 99

手动创建URI 99

自动生成资源URI 99

触发路由 103

用户行为 103

重定向用户 104

路由配置 104

静态路由声明 105

注册事件 105

禁用路由 105

故障排查 108

路由器冲突 108

记录初始配置 110

记录路由事件 110

处理非法资源的状态 110

小结 111

6 用户偏好和默认设置 113

偏好类型 113

地区 113

行为 114

外观 115

支持地区 115

决定支持哪些地区 115

维护地区 116

设置地区 116

选择地区 117

存储地区偏好 117

URI中的地区 118

通用组件配置 118

选择配置的值 119

存储和硬编码默认值 119

对后端的影响 120

加载配置值 121

配置行为 122

启用和禁用组件 122

改变数量 123

改变顺序 124

配置通知 126

行内选项 126

改变外观 127

主题工具 127

选择一个主题 128

单独的样式偏好 128

性能影响 128

可配置地区的性能 129

可配置行为的性能 129

可配置主题的性能 132

小结 132

7 加载时间和响应速度 135

组件构件 135

组件依赖 135

构建组件 136

加载组件 137

加载模块 137

懒惰的模块加载 138

模块加载的延迟 139

通信瓶颈 141

减少间接引用 141

分析代码 143

组件优化 145

维护状态的组件 145

处理副作用 146

DOM渲染技术 148

API数据 150

加载延迟 150

处理大数据集 151

优化运行时组件 152

小结 153

8 可移植性和测试 155

与后端解耦 155

模拟后端API 155

前端入口 156

模拟工具 157

生成模拟数据集 158

执行操作 159

功能设计过程 159

设计API 160

实现模拟数据 160

实现功能 161

协调模拟数据与真实数据 162

单元测试工具 163

框架自带的工具 163

独立的单元测试工具 164

工具链和自动化 165

测试模拟场景 166

模拟API和测试固件 166

场景生成工具 167

端到端测试和持续集成 168

小结 169

9 缩小规模 171

扩展限制 171

JavaScript文件体积 172

网络带宽 173

内存消耗 175

CPU消耗 177

后端能力 179

互相矛盾的功能 180

重叠的功能 181

冗余的功能 182

用户需求 182

设计失效 183

多余的组件 184

低效的数据处理 186

过度创建标记 190

应用组合 191

功能的启动 191

新功能的影响 192

重要的库 192

小结 193

10 处理错误 195

快速失效 195

使用质量约束 196

提供有意义的反馈 196

当无法快速失效时 197

容错 198

区分关键行为 198

探测和控制错误行为 199

禁用出错组件 202

优雅地降级功能 203

故障恢复 204

重试失败操作 204

重启组件 207

用户手动干涉 208

当我们无法从故障中恢复 209

性能和复杂度 210

异常处理 210

状态检查 211

通知其他组件 211

记录日志和调试 212

有意义的错误日志 212

为潜在故障发出警告 213

通知和指导用户 214

改进架构 214

记录错误场景 215

改进组件分类 215

复杂导致出错 216

小结 216

相关图书
作者其它书籍
返回顶部