类似推荐
编辑推荐
揭秘支撑百度三大业务的MVVM框架设计,领悟高性能跨端全栈设计思想。
内容简介
本书以San 为例,结合具体的实现,从框架设计、工程链路、跨端开发和全栈实现等方面说明了如何优化前端框架的性能。主要内容包括:San 的组件化设计、响应式的数据设计,以及数据流管理等知识;San SSR 的设计及其在业务中的具体运用;在“开发– 调试– 编译– 部署”工作流中用于提升效率的工具,专门为San 开发的命令行工具San CLI,以及对应的可视化界面实现;San 的跨端融合支持;San 的发展规划。本书适合所有前端开发人员阅读。
作者简介
作者百度 KFive,百度App大前端团队,在业务支持之外,KFive研究的技术方向很广,包括人工智能、跨端融合,等等。
KFive的名称不仅来源于起初的办公地点在百度科技园5号楼,更体现了其对软件开发的理解,即“五 Key”:Key1者,精益求精;Key2者,大巧不工;Key3者,独运匠心;Key4者,百炼千锤;Key5者,善始善终。
章节目录
版权信息
序
前言
第1章 San,一个新的起点
1.1 San的诞生
1.2 San的特性
1.3 框架对比
1.3.1 抽象程度
1.3.2 运行时和预编译
1.3.3 同构与跨端
1.3.4 生态
1.4 为什么选择San
1.5 小结
第2章 组件,一切的起点
2.1 从实际项目出发,实现一个简单的San
2.1.1 实现一篇文章
2.1.2 实现文章列表
2.1.3 抽象出文章类
2.1.4 数据驱动视图的逻辑
2.2 编写第一个San组件
2.2.1 安装San
2.2.2 Hello San
2.3 使用San实现文章项
2.3.1 使用HTML语法描述结构
2.3.2 使用CSS控制样式
2.4 声明式的视图模板
2.4.1 插值语法
2.4.2 属性绑定
2.4.3 表达式
2.4.4 方法
2.4.5 过滤器
2.5 事件
2.5.1 事件修饰符
2.5.2 自定义事件
2.6 指令
2.6.1 条件
2.6.2 循环
2.6.3 源码解析
2.7 San组件
2.7.1 组件定义
2.7.2 生命周期
2.7.3 视图模板
2.7.4 数据
2.7.5 组件引用
2.8 双向绑定
2.9 工程搭建
使用san-cli创建工程
2.10 小结
第3章 数据,组件的基石
3.1 响应式原理
3.1.1 如何追踪数据变化
3.1.2 主动式数据变化追踪
3.1.3 如何收集依赖
3.1.4 如何触发视图更新
3.2 视图更新
3.2.1 视图更新过程
3.2.2 ANode
3.2.3 基于ANode的预处理
3.2.4 节点遍历中断
3.3 数据及其更新
3.3.1 数据定义
3.3.2 数据校验
3.4 状态管理
3.4.1 为什么要进行状态管理
3.4.2 基础使用
3.4.3 san-store的实现原理
3.4.4 san-update库
3.4.5 实例
3.5 小结
第4章 组件进阶,构造复杂的前端应用
4.1 组件间通信
4.1.1 父子组件通信
4.1.2 更多组件通信方式
4.2 插槽
4.2.1 数据环境
4.2.2 命名
4.2.3 作用域插槽
4.3 路由
san-router
4.4 动画和过渡
4.4.1 s-transition
4.4.2 动画控制器
4.5 APack
4.6 小结
第5章 服务端渲染
5.1 服务端渲染的用途
5.1.1 单页应用的问题
5.1.2 引入服务端渲染
5.1.3 应用场景评估
5.2 如何做服务端渲染
5.2.1 立即使用San SSR
5.2.2 开发支持SSR的组件
5.2.3 编译到其他语言和平台
5.3 San SSR的工作原理
5.3.1 San服务端渲染过程
5.3.2 组件信息解析
5.3.3 编译到render AST
5.3.4 render的代码生成
5.4 客户端反解
5.4.1 组件反解的概念
5.4.2 数据注释
5.4.3 复合插值文本
5.4.4 调用组件反解
5.5 服务端渲染优化
5.5.1 预渲染优化
5.5.2 正确使用render
5.5.3 编译到源码
5.5.4 复用运行时工具库
5.6 小结
第6章 San命令行工具
6.1 为什么需要San CLI
6.2 命令行工具的实现
6.2.1 解析命令行参数
6.2.2 命令行工具的发布和调试
6.2.3 基于yargs的命令行模块
6.2.4 命令行插件化的实现
6.3 打造San项目脚手架
6.3.1 实现简单的项目脚手架
6.3.2 实现可交互的项目脚手架
6.3.3 脚手架的完整实现逻辑
6.3.4 更好地组织代码
6.4 San CLI的构建方案
6.4.1 编译与构建
6.4.2 构建方案的技术选型
6.4.3 San CLI的构建方案
6.5 San CLI的整体架构
6.6 开箱即用的最佳实践
6.6.1 语言层面的支持
6.6.2 开发调试
6.6.3 面向项目部署
6.6.4 性能优化
6.7 小结
第7章 组件编译和HMR
7.1 San单文件组件
7.1.1 一个简单的San单文件组件
7.1.2 单文件组件的特性
7.2 单文件组件编译的配置
7.2.1 加载器和插件
7.2.2 San加载器简介
7.3 单文件组件编译的原理
7.3.1 提取San文件中的模板、脚本和样式
7.3.2 从单文件组件到San组件
7.3.3 San加载器的构建流程
7.3.4 San加载器的整体运行流程
7.4 实现组件的HMR
7.4.1 webpack HMR简介
7.4.2 HMR的工作原理
7.4.3 san-hot-loader简介
7.4.4 San组件的HMR的实现
7.5 利用APack实现组件的传输优化
7.5.1 从模板到ANode
7.5.2 从ANode到APack
7.5.3 APack的实现原理
7.6 小结
第8章 测试与调试
8.1 San DevTools简介
8.1.1 San DevTools的设计初衷
8.1.2 技术选型
8.2 San DevTools中的通信
8.2.1 工作原理
8.2.2 构建WebSocket服务
8.2.3 构建Bridge与协议解耦
8.2.4 构建调试页面与被调试页面之间的通信信道
8.3 San DevTools中的数据收集和处理
8.3.1 收集页面中的San数据
8.3.2 构建Agent
8.3.3 构建页面组件树
8.3.4 实时修改组件数据
8.3.5 组件性能数据的处理
8.3.6 事件与消息
8.3.7 san-store中的时间旅行
8.4 单元测试
8.4.1 DOM测试
8.4.2 快照测试
8.5 小结
第9章 SanNative跨端融合
9.1 跨平台开发
9.1.1 JavaScript驱动的NA原生渲染
9.1.2 跨端渲染方案的优缺点
9.2 渲染引擎
9.2.1 供JavaScript调用的渲染API
9.2.2 宿主所使用的渲染引擎
9.2.3 实现JavaScript代码
9.3 高性能的跨端技术方案
9.3.1 响应式驱动NA渲染
9.3.2 适配跨端渲染
9.3.3 视图设计
9.3.4 事件系统
9.3.5 样式选择器
9.4 San Native的Web化
9.4.1 Web化的背后原理
9.4.2 Native渲染与Web渲染的差异
9.5 共享机制和多bundle
9.6 小结
第10章 San的未来
作者简介
高性能MVVM框架的设计与实现:San是2022年由人民邮电出版社出版,作者百度 KFive。
得书感谢您对《高性能MVVM框架的设计与实现:San》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。