本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
9787000019152
9787121365348 9787115452368
前端架构从入门到微前端
内容介绍
《前端架构:从入门到微前端》是一本围绕前端架构的实施手册,从基础的架构规范,到如何设计前端架构,再到采用微前端架构拆分复杂的前端应用。本书通过地介绍前端架构世界的方方面面,来帮助前端工程师更好地进行设计。
前端架构包含以下五部分内容。
? 设计:讲述了架构设计的模式,以及设计和制定前端工作流。
? 基础:通过深入构建、单页面应用原理、前端知识体系等,来构建出完整的前端应用架构体系。
? 实施:通过与代码结构的方式,介绍如何在企业级应用中实施组件化架构、设计和前后端分离架构。
? 微前端:引入6种微前端的概念,以及如何划分、设计微前端应用,并展示了如何实现这6种微前端架构。
? 演进:提出更新、迁移、重构、重写、重新架构等架构演进方式,来帮助开发人员更好地设计演进式架构
《前端架构:从入门到微前端》适合想要成为前端开发工程师(初中级),或致力于构建更易于维护的架构的开发人员、技术主管、软件架构师和软件项目经理等。
目录
第1章 前端架构 1
1.1 为什么需要软件架构 2
1.1.1 什么是软件架构 2
1.1.2 开发人员需要怎样的软件架构 3
1.2 架构的设计 4
1.2.1 收集架构需求 5
1.2.2 架构模式 10
1.2.3 架构设计方法 11
1.2.4 生成架构产出物 15
1.3 架构设计原则 16
1.3.1 不多也不少 16
1.3.2 演进式 17
1.3.3 持续性 19
1.4 前端架构发展史 20
1.5 前端架构设计:层次设计 21
1.5.1 内架构 22
1.5.2 应用级架构 23
1.5.3 模块级架构 24
1.5.4 代码级:规范与原则 25
1.6 小结 25
第2章 项目中的技术架构实施 27
2.1 技术负责人与架构 28
2.2 技术准备期:探索技术架构 30
2.2.1 架构设计 30
2.2.2 概念验证:架构的原型证明 30
2.2.3 迭代0:搭建完整环境 31
2.2.4 示例项目代码:体现规范与原则 32
2.3 业务回补期:应对一次Deadline 33
2.3.1 追补业务 33
2.3.2 测试:实践测试策略 34
2.3.3 上线准备 35
2.3.4 一次部署:验证部署架构 35
2.3.5 提升团队能力 36
2.4 成长优化期:技术债务与演进 39
2.4.1 偿还技术债务 40
2.4.2 优化开发体验 41
2.4.3 带来技术挑战 41
2.4.4 架构完善及演进 42
2.5 小结 43
第3章 架构基础:工作流设计 44
3.1 代码之旅:基础规范 45
3.2 代码组织决定应用架构 47
3.3 统一代码风格,避免架构腐烂 49
3.4 使用Lint规范代码 50
3.5 规范化命名,提升可读性 51
3.5.1 命名法 51
3.5.2 CSS及其预处理器命名规则 52
3.5.3 组件命名规则 53
3.6 规范开发工具,提升开发效率 54
3.7 项目的文档化:README搭建指南 55
3.8 绘制架构图:减少沟通成本 56
3.8.1 代码生成 56
3.8.2 工具 57
3.8.3 软件附带工具 57
3.8.4 在线工具 58
3.9 可编辑文档库:提升协作性 59
3.10 记录架构决策:轻量级架构决策记录 59
3.11 可视化文档:注重代码的可读性 60
3.12 看板工具:统一管理业务知识 62
3.13 提交信息:每次代码提交文档化 63
3.13.1 项目方式 63
3.13.2 开源项目方式 64
3.13.3 对比不同文档方式 65
3.14 通过流程化提高代码质量 66
3.14.1 代码预处理 67
3.14.2 手动检视代码 69
3.15 使用工具提升代码质量 70
3.15.1 代码扫描工具 70
3.15.2 IDE 快速重构 71
3.16 测试策略 72
3.16.1 单元测试 73
3.16.2 组件测试 75
3.16.3 契约/接口测试 76
3.17 小结 77
第4章 架构基础:设计构建流 78
4.1 依赖管理工具 81
4.2 软件包源管理 83
4.3 前端代码的打包 88
4.4 设计构建流 89
4.5 持续交付问题 99
4.6 小结 105
第5章 架构设计:多页面应用 107
5.1 为什么不需要单页面应用 108
5.1.1 构建成本 108
5.1.2 学习成本 109
5.1.3 后台渲染成本 110
5.1.4 应用架构的复杂性 111
5.2 简单多页面应用的开发 112
5.2.1 选择UI库及框架 113
5.2.2 jQuery和Bootstrap仍然好用 113
5.2.3 不使用框架:You Don’t Need xxx 114
5.3 复杂多页面应用的开发 115
5.3.1 模板与模板引擎原理 115
5.3.2 基于字符串的模板引擎设计 116
5.3.3 基于的模板引擎设计 117
5.3.4 双向绑定原理及实践 120
5.3.5 前端路由原理及实践 124
5.3.6 两种路由类型 124
5.3.7 自造Hash路由管理器 125
5.4 避免散弹式架构 127
5.4.1 散弹式架构应用 127
5.4.2 如何降低散弹性架构的出现频率 128
5.5 小结 130
第6章 架构设计:单页面应用 131
6.1 前端MV*原理 132
6.2 前端MVC架构原理 133
6.3 进阶:设计双向绑定的MVC 135
6.4 前端框架选型 138
6.4.1 选型考虑因素 139
6.4.2 框架类型:大而全还是小而美 140
6.4.3 框架:React 142
6.4.4 框架:Angular 143
6.4.5 框架:Vue 145
6.4.6 选型总结 146
6.5 启动前端应用 146
6.5.1 创建应用脚手架 147
6.5.2 构建组件库 148
6.5.3 考虑浏览器的支持范围 150
6.6 服务端渲染 155
6.6.1 非语言的同构渲染 155
6.6.2 基于语言的同构渲染 157
6.6.3 预渲染 158
6.7 小结 159.................
内容简介
本书展示了一名成熟的前端架构师对前端开发全面而深刻的理解。作者结合自己在Red Hat公司的项目实战经历,探讨了前端架构原则和前端架构的核心内容,包括工作流程、测试流程和文档记录,以及作为前端架构师所要承担的具体开发工作,包括HTML、和CSS等。
目录
前言 xi
部分 引言
第 1 章 前端架构原则 7
第 2 章 Alpha 项目 11
2.1 慢而有力的开端 11
2.2 全副武装 12
第 3 章 前端架构的核心 15
3.1 围绕四个核心工作 15
3.2 四个核心的含义 16
第二部分 代码核心
第 4 章 HTML 19
4.1 过去处理标记的方法 19
4.1.1 程序式标记:自动化程度 ,可控程度 0% 19
4.1.2 静态标记:自动化程度 0%,可控程度 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 章 37
6.1 选择框架 37
6.2 维护整洁的 代码 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
第三部分 流程核心
第 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
第四部分 测试核心
第 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
第五部分 文档核心
第 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