互联网
类型
可以朗读
语音朗读
297千字
字数
2022-05-01
发行日期
展开全部
主编推荐语
揭秘支撑百度三大业务的MVVM框架设计,领悟高性能跨端全栈设计思想。
内容简介
本书以San为例,结合具体的实现,从框架设计、工程链路、跨端开发和全栈实现等方面说明了如何优化前端框架的性能。
目录
- 版权信息
- 序
- 前言
- 第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的未来
- 作者简介
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。