互联网
类型
6.8
豆瓣评分
可以朗读
语音朗读
229千字
字数
2019-05-01
发行日期
展开全部
主编推荐语
前端架构设计全套实施手册,从架构规范、架构设计到微前端架构拆分,助力大前端时代前端架构设计选型和开发。
内容简介
一本围绕前端架构的实施手册,从基础的架构规范,到如何设计前端架构,再到采用微前端架构拆分复杂的前端应用。本书通过系统地介绍前端架构世界的方方面面,来帮助前端工程师更好地进行系统设计。
前端架构包含以下五部分内容:
设计:讲述了架构设计的模式,以及设计和制定前端工作流。
基础:通过深入构建系统、单页面应用原理、前端知识体系等,来构建出完整的前端应用架构体系。
实施:通过与代码结构的方式,介绍如何在企业级应用中实施组件化架构、设计系统和前后端分离架构。
微前端:引入6种微前端的概念,以及如何划分、设计微前端应用,并展示了如何实现这6种微前端架构。
演进:提出更新、迁移、重构、重写、重新架构等架构演进方式,来帮助开发人员更好地设计演进式架构。
目录
- 版权信息
- 前言
- 第1章 前端架构
- 1.1 为什么需要软件架构
- 1.1.1 什么是软件架构
- 1.1.2 开发人员需要怎样的软件架构
- 1.2 架构的设计
- 1.2.1 收集架构需求
- 1.2.2 架构模式
- 1.2.3 架构设计方法
- 1.2.4 生成架构产出物
- 1.3 架构设计原则
- 1.3.1 不多也不少
- 1.3.2 演进式
- 1.3.3 持续性
- 1.4 前端架构发展史
- 1.5 前端架构设计:层次设计
- 1.5.1 系统内架构
- 1.5.2 应用级架构
- 1.5.3 模块级架构
- 1.5.4 代码级:规范与原则
- 1.6 小结
- 第2章 项目中的技术架构实施
- 2.1 技术负责人与架构
- 2.2 技术准备期:探索技术架构
- 2.2.1 架构设计
- 2.2.2 概念验证:架构的原型证明
- 2.2.3 迭代0:搭建完整环境
- 2.2.4 示例项目代码:体现规范与原则
- 2.3 业务回补期:应对第一次Deadline
- 2.3.1 追补业务
- 2.3.2 测试:实践测试策略
- 2.3.3 上线准备
- 2.3.4 第一次部署:验证部署架构
- 2.3.5 提升团队能力
- 2.4 成长优化期:技术债务与演进
- 2.4.1 偿还技术债务
- 2.4.2 优化开发体验
- 2.4.3 带来技术挑战
- 2.4.4 架构完善及演进
- 2.5 小结
- 第3章 架构基础:工作流设计
- 3.1 代码之旅:基础规范
- 3.2 代码组织决定应用架构
- 3.3 统一代码风格,避免架构腐烂
- 3.4 使用Lint规范代码
- 3.5 规范化命名,提升可读性
- 3.5.1 命名法
- 3.5.2 CSS及其预处理器命名规则
- 3.5.3 组件命名规则
- 3.6 规范开发工具,提升开发效率
- 3.7 项目的文档化:README搭建指南
- 3.8 绘制架构图:减少沟通成本
- 3.8.1 代码生成
- 3.8.2 专业工具
- 3.8.3 软件附带工具
- 3.8.4 在线工具
- 3.9 可编辑文档库:提升协作性
- 3.10 记录架构决策:轻量级架构决策记录
- 3.11 可视化文档:注重代码的可读性
- 3.12 看板工具:统一管理业务知识
- 3.13 提交信息:每次代码提交文档化
- 3.13.1 项目方式
- 3.13.2 开源项目方式
- 3.13.3 对比不同文档方式
- 3.14 通过流程化提高代码质量
- 3.14.1 代码预处理
- 3.14.2 手动检视代码
- 3.15 使用工具提升代码质量
- 3.15.1 代码扫描工具
- 3.15.2 IDE 快速重构
- 3.16 测试策略
- 3.16.1 单元测试
- 3.16.2 组件测试
- 3.16.3 契约/接口测试
- 3.17 小结
- 第4章 架构基础:设计构建流
- 4.1 依赖管理工具
- 4.2 软件包源管理
- 4.3 前端代码的打包
- 4.4 设计构建流
- 4.5 持续交付问题
- 4.6 小结
- 第5章 架构设计:多页面应用
- 5.1 为什么不需要单页面应用
- 5.1.1 构建成本
- 5.1.2 学习成本
- 5.1.3 后台渲染成本
- 5.1.4 应用架构的复杂性
- 5.2 简单多页面应用的开发
- 5.2.1 选择UI库及框架
- 5.2.2 jQuery和Bootstrap仍然好用
- 5.2.3 不使用框架:You Don't Need xxx
- 5.3 复杂多页面应用的开发
- 5.3.1 模板与模板引擎原理
- 5.3.2 基于字符串的模板引擎设计
- 5.3.3 基于JavaScript的模板引擎设计
- 5.3.4 双向绑定原理及实践
- 5.3.5 前端路由原理及实践
- 5.3.6 两种路由类型
- 5.3.7 自造Hash路由管理器
- 5.4 避免散弹式架构
- 5.4.1 散弹式架构应用
- 5.4.2 如何降低散弹性架构的出现频率
- 5.5 小结
- 第6章 架构设计:单页面应用
- 6.1 前端MV*原理
- 6.2 前端MVC架构原理
- 6.3 进阶:设计双向绑定的MVC
- 6.4 前端框架选型
- 6.4.1 选型考虑因素
- 6.4.2 框架类型:大而全还是小而美
- 6.4.3 框架:React
- 6.4.4 框架:Angular
- 6.4.5 框架:Vue
- 6.4.6 选型总结
- 6.5 启动前端应用
- 6.5.1 创建应用脚手架
- 6.5.2 构建组件库
- 6.5.3 考虑浏览器的支持范围
- 6.6 服务端渲染
- 6.6.1 非JavaScript语言的同构渲染
- 6.6.2 基于JavaScript语言的同构渲染
- 6.6.3 预渲染
- 6.7 小结
- 第7章 架构设计:组件化架构
- 7.1 前端的组件化架构
- 7.2 基础:风格指南
- 7.2.1 原则与模式
- 7.2.2 色彩
- 7.2.3 文字排印
- 7.2.4 布局
- 7.2.5 组件
- 7.2.6 文档及其他
- 7.2.7 维护风格指南
- 7.3 重用:模式库
- 7.3.1 组件库
- 7.3.2 组件类型
- 7.3.3 隔离:二次封装
- 7.4 进阶:设计系统
- 7.4.1 设立原则,创建模式
- 7.4.2 原子设计
- 7.4.3 维护与文档
- 7.5 跨框架组件化
- 7.5.1 框架间互相调用:Web Components
- 7.5.2 跨平台模式库
- 7.6 小结
- 第8章 架构设计:前后端分离架构
- 8.1 前后端分离
- 8.1.1 为什么选择前后端分离
- 8.1.2 前后端分离的开发模式
- 8.1.3 前后端分离的API设计
- 8.2 API管理模式:API文档管理方式
- 8.3 前后端并行开发:Mock Server
- 8.3.1 什么是Mock Server
- 8.3.2 三种类型Mock Server的比较
- 8.3.3 Mock Server的测试:契约测试
- 8.3.4 前后端并行开发总结
- 8.4 服务于前端的后端:BFF
- 8.4.1 为什么使用BFF
- 8.4.2 前后端如何实现BFF
- 8.4.3 使用GraphQL作为BFF
- 8.5 小结
- 第9章 架构设计:微前端架构
- 9.1 微前端
- 9.1.1 微前端架构
- 9.1.2 为什么需要微前端
- 9.2 微前端的技术拆分方式
- 9.2.1 路由分发式
- 9.2.2 前端微服务化
- 9.2.3 组合式集成:微应用化
- 9.2.4 微件化
- 9.2.5 前端容器:iframe
- 9.2.6 结合Web Components构建
- 9.3 微前端的业务划分方式
- 9.3.1 按照业务拆分
- 9.3.2 按照权限拆分
- 9.3.3 按照变更的频率拆分
- 9.3.4 按照组织结构拆分
- 9.3.5 跟随后端微服务拆分
- 9.3.6 DDD与事件风暴
- 9.4 微前端的架构设计
- 9.4.1 构建基础设施
- 9.4.2 提取组件与模式库
- 9.4.3 应用通信机制
- 9.4.4 数据管理
- 9.4.5 专用的构建系统
- 9.5 微前端的架构模式
- 9.5.1 基座模式
- 9.5.2 自组织模式
- 9.6 微前端的设计理念
- 9.6.1 中心化:应用注册表
- 9.6.2 标识化应用
- 9.6.3 生命周期
- 9.6.4 高内聚,低耦合
- 9.7 “微”害架构
- 9.7.1 微架构
- 9.7.2 架构的演进
- 9.7.3 微架构带来的问题
- 9.7.4 解决方式:可拆分式微架构
- 9.8 小结
- 第10章 微前端实战
- 10.1 遗留系统:路由分发
- 10.1.1 路由分发式微前端
- 10.1.2 路由分发的测试
- 10.2 遗留系统微前端:使用iframe作为容器
- 10.3 微应用化
- 10.3.1 微应用化
- 10.3.2 架构实施
- 10.3.3 测试策略
- 10.4 前端微服务化
- 10.4.1 微服务化设计方案
- 10.4.2 通用型前端微服务化:Single-SPA
- 10.4.3 定制型前端微服务化:Mooa
- 10.4.4 前端微服务化总结
- 10.5 组件化微前端:微件化
- 10.5.1 运行时编译微件化:动态组件渲染
- 10.5.2 预编译微件化
- 10.6 面向未来:Web Components
- 10.6.1 Web Components
- 10.6.2 纯Web Components方式
- 10.6.3 结合Web Components方式
- 10.7 小结
- 第11章 架构演进:演进式架构
- 11.1 更新
- 11.1.1 依赖和框架版本升级
- 11.1.2 语言版本升级
- 11.1.3 遗留系统重搭
- 11.2 迁移
- 11.2.1 架构迁移的模式
- 11.2.2 迁移方式:微前端
- 11.2.3 迁移方式:寻找容器
- 11.3 重构
- 11.3.1 架构重构
- 11.3.2 组件提取、函数提取、样式提取
- 11.3.3 引入新技术
- 11.4 重写
- 11.4.1 重写能解决问题吗
- 11.4.2 梳理业务
- 11.4.3 沉淀新架构
- 11.5 重新架构
- 11.5.1 重搭架构
- 11.5.2 增量改写
- 11.6 小结
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。