第一部分 引言 7
第1章 前端架构原则 7
第2章 Alpha项目 11
2.1 慢而有力的开端 11
2.2 全副武装 12
第3章 前端架构的核心 15
3.1 围绕四个核心工作 15
3.2 四个核心的含义 16
第二部分 代码核心 19
第4章 HTML 19
4.1 过去处理标记的方法 19
4.1.1 程序式标记:自动化程度100%,可控程度0% 19
4.1.2 静态标记:自动化程度0%,可控程度100% 20
4.2 平衡可控性和自动化 21
4.3 这一切背后的设计系统 22
4.4 模块化CSS理论的多面性 22
4.4.1 OOCSS方法 23
4.4.2 SMACSS方法 23
4.4.3 BEM方法 24
4.5 选择适合的方案 25
第5章 CSS 27
5.1 特性之争与继承之痛 28
5.2 一种现代的、模块化的方法 30
5.3 其他有助益的原则 32
5.3.1 单一职责原则 32
5.3.2 单一样式来源 33
5.3.3 组件修饰符 34
5.4 小结 35
第6章 JavaScript 37
6.1 选择框架 37
6.2 维护整洁的JavaScript代码 38
6.2.1 保持代码整洁 38
6.2.2 创造可复用的函数 38
6.3 小结 40
第7章 Red Hat代码 41
7.1 过多的依赖 41
7.2 严重的位置依赖问题 42
7.3 设计分解 42
7.4 组件分类 43
7.5 BB鸟规则 44
7.6 编写你自己的规则 44
7.7 每个标签指定唯一的选择器 46
7.7.1 单一责任原则 46
7.7.2 样式只有单一的来源 47
7.7.3 可选的修饰符 47
7.7.4 可选的上下文 50
7.8 语义化的网格 53
第三部分 流程核心 57
第8章 工作流 57
8.1 过去的开发工作流 57
8.2 现代的开发工作流 58
8.2.1 需求 58
8.2.2 原型设计 58
8.2.3 程序开发 58
8.3 前端工作流 59
8.3.1 必要的工具 59
8.3.2 本地部署 59
8.3.3 编写用户故事 60
8.4 开发 61
8.5 发布 62
8.6 提交编译后的资源 62
8.7 持续集成的服务器 63
8.7.1 标签分支 64
8.7.2 究竟为什么要这么做 64
8.8 发布渠道 64
第9章 任务处理器 67
9.1 在任务处理器中完成一切 68
9.2 在项目中使用任务处理器 69
9.3 有明显的优胜者吗 71
第10章 Red Hat流程 73
10.1 征服最后一英里 73
10.2 模式驱动的设计系统 75
第四部分 测试核心 87
第11章 单元测试 87
11.1 单元 87
11.1.1 更多重用 88
11.1.2 更好的测试 88
11.2 测试驱动的开发 88
11.3 一个测试驱动的例子 89
11.4 测试覆盖率要多大才足够 90
11.4.1 解决分歧点 90
11.4.2 从测试覆盖率开始 90
第12章 性能测试 91
12.1 制定性能预算 91
12.1.1 竞争基线 92
12.1.2 平均基准 92
12.2 原始指标 93
12.2.1 页面大小 93
12.2.2 HTTP请求次数 94
12.3 计时度量 94
12.4 混合度量标准 95
12.4.1 PageSpeed分数 95
12.4.2 Speed Index指标 95
12.5 设置性能测试 95
12.5.1 Grunt PageSpeed插件 96
12.5.2 Grunt Perfbuget插件 96
12.6 小结 97
第13章 视觉还原测试 99
13.1 常见的质疑 99
13.1.1 不了解情况的开发者 100
13.1.2 不一致的设计 100
13.1.3 举棋不定的决策者 100
13.2 一个经过测试的解决方案 101
13.3 视觉还原测试的多面性 101
第14章 Red Hat测试方法 103
14.1 实践视觉还原测试 103
14.1.1 测试工具集 103
14.1.2 设置Grunt 104
14.1.3 测试文件 104
14.1.4 对比 105
14.1.5 运行全部测试用例 106
14.1.6 如何应对测试失败 107
14.1.7 从失败到成功 107
14.1.8 修改代码以适应需求 108
14.1.9 将基准图片放在组件目录里 108
14.1.10 独立运行每个组件的测试集 109
14.1.11 测试的可扩展性 110
14.2 小结 111
第五部分 文档核心 117
第15章 样式文档 117
15.1 配置Hologram 117
15.1.1 Hologram的文档注释块 119
15.1.2 Hologram编译流程 120
15.1.3 Hologram小结 121
15.2 SassDoc 121
15.2.1 安装SassDoc 121
15.2.2 使用SassDoc 122
15.2.3 探索SassDoc 123
15.2.4 深入了解SassDoc 124
15.2.5 内部依赖 125
15.3 小结 127
第16章 图形库 129
16.1 何为Pattern Lab 129
16.2 运行Pattern Lab 131
16.3 首页模板 133
16.4 首变量 134
16.5 原子 135
16.6 发挥原子的作用 135
第17章 Red Hat文档 137
17.1 阶段1:静态的样式文档 137
17.2 阶段2:重写Pattern Lab 139
17.3 阶段3:分拆模式库和样式文档 142
17.4 阶段4:创建统一的渲染引擎 143
17.5 阶段5:自动创建新模式 144
第18章 总结 147
作者介绍 149
封面介绍 149