失效链接处理 |
高性能MVVM框架的设计与实现——San PDF 下载
下载地址:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
https://product.dangdang.com/11154466304.html
相关截图: 资料简介: 本书以San 为例,结合具体的实现,从框架设计、工程链路、跨端开发和全栈实现等方面说明了如何优化前端框架的性能。主要内容包括:San 的组件化设计、响应式的数据设计,以及数据流管理等知识;San SSR 的设计及其在业务中的具体运用;在“开发– 调试– 编译– 部署”工作流中用于提升效率的工具,专门为San 开发的命令行工具San CLI,以及对应的可视化界面实现;San 的跨端融合支持;San 的发展规划。 本书适合所有前端开发人员阅读。 资料目录: 第 1章 San,一个新的起点 1 1.1 San的诞生 3 1.2 San的特性 3 1.3 框架对比 6 1.3.1 抽象程度 6 1.3.2 运行时和预编译 7 1.3.3 同构与跨端 8 1.3.4 生态 8 1.4 为什么选择San 9 1.5 小结 10 第 2章 组件,一切的起点 11 2.1 从实际项目出发,实现一个简单的San 11 2.1.1 实现一篇文章 11 2.1.2 实现文章列表 13 2.1.3 抽象出文章类 16 2.1.4 数据驱动视图的逻辑 18 2.2 编写第 一个San组件 21 2.2.1 安装San 21 2.2.2 Hello San 23 2.3 使用San实现文章项 24 2.3.1 使用HTML语法描述结构 25 2.3.2 使用CSS控制样式 25 2.4 声明式的视图模板 26 2.4.1 插值语法 27 2.4.2 属性绑定 30 2.4.3 表达式 32 2.4.4 方法 33 2.4.5 过滤器 34 2.5 事件 35 2.5.1 事件修饰符 38 2.5.2 自定义事件 39 2.6 指令 41 2.6.1 条件 41 2.6.2 循环 44 2.6.3 源码解析 47 2.7 San组件 49 2.7.1 组件定义 50 2.7.2 生命周期 51 2.7.3 视图模板 53 2.7.4 数据 54 2.7.5 组件引用 56 2.8 双向绑定 58 2.9 工程搭建 61 2.10 小结 66 第3章 数据,组件的基石 68 3.1 响应式原理 69 3.1.1 如何追踪数据变化 69 3.1.2 主动式数据变化追踪 72 3.1.3 如何收集依赖 81 3.1.4 如何触发视图更新 86 3.2 视图更新 87 3.2.1 视图更新过程 87 3.2.2 ANode 91 3.2.3 基于ANode的预处理 92 3.2.4 节点遍历中断 99 3.3 数据及其更新 100 3.3.1 数据定义 101 3.3.2 数据校验 106 3.4 状态管理 111 3.4.1 为什么要进行状态管理 111 3.4.2 基础使用 113 3.4.3 san-store的实现原理 117 3.4.4 san-update库 128 3.4.5 实例 135 3.5 小结 138 第4章 组件进阶,构造复杂的前端应用 139 4.1 组件间通信 141 4.1.1 父子组件通信 142 4.1.2 更多组件通信方式 149 4.2 插槽 151 4.2.1 数据环境 152 4.2.2 命名 153 4.2.3 作用域插槽 155 4.3 路由 157 4.4 动画和过渡 160 4.4.1 s-transition 161 4.4.2 动画控制器 161 4.5 APack 163 4.6 小结 164 第5章 服务端渲染 166 5.1 服务端渲染的用途 166 5.1.1 单页应用的问题 166 5.1.2 引入服务端渲染 167 5.1.3 应用场景评估 168 5.2 如何做服务端渲染 169 5.2.1 立即使用San SSR 170 5.2.2 开发支持SSR的组件 172 5.2.3 编译到其他语言和平台 174 5.3 San SSR的工作原理 176 5.3.1 San服务端渲染过程 176 5.3.2 组件信息解析 177 5.3.3 编译到render AST 178 5.3.4 render的代码生成 180 5.4 客户端反解 182 5.4.1 组件反解的概念 182 5.4.2 数据注释 183 5.4.3 复合插值文本 184 5.4.4 调用组件反解 184 5.5 服务端渲染优化 185 5.5.1 预渲染优化 186 5.5.2 正确使用render 187 5.5.3 编译到源码 188 5.5.4 复用运行时工具库 189 5.6 小结 190 第6章 San命令行工具 192 6.1 为什么需要San CLI 192 6.2 命令行工具的实现 193 6.2.1 解析命令行参数 193 6.2.2 命令行工具的发布和调试 194 6.2.3 基于yargs的命令行模块 195 6.2.4 命令行插件化的实现 197 6.3 打造San项目脚手架 198 6.3.1 实现简单的项目脚手架 199 6.3.2 实现可交互的项目脚手架 200 6.3.3 脚手架的完整实现逻辑 209 6.3.4 更好地组织代码 210 6.4 San CLI的构建方案 213 6.4.1 编译与构建 214 6.4.2 构建方案的技术选型 217 6.4.3 San CLI的构建方案 218 6.5 San CLI的整体架构 231 6.6 开箱即用的实践 233 6.6.1 语言层面的支持 233 6.6.2 开发调试 235 6.6.3 面向项目部署 239 6.6.4 性能优化 242 6.7 小结 248 第7章 组件编译和HMR 249 7.1 San单文件组件 249 7.1.1 一个简单的San单文件组件 249 7.1.2 单文件组件的特性 250 7.2 单文件组件编译的配置 251 7.2.1 加载器和插件 251 7.2.2 San加载器简介 254 7.3 单文件组件编译的原理 254 7.3.1 提取San文件中的模板、脚本和样式 255 7.3.2 从单文件组件到San组件 259 7.3.3 San加载器的构建流程 261 7.3.4 San加载器的整体运行流程 270 7.4 实现组件的HMR 271 7.4.1 webpack HMR简介 271 7.4.2 HMR的工作原理 271 7.4.3 san-hot-loader简介 275 7.4.4 San组件的HMR的实现 276 7.5 利用APack实现组件的传输优化 284 7.5.1 从模板到ANode 284 7.5.2 从ANode到APack 286 7.5.3 APack的实现原理 287 7.6 小结 296 第8章 测试与调试 297 8.1 San DevTools简介 297 8.1.1 San DevTools的设计初衷 297 8.1.2 技术选型 298 8.2 San DevTools中的通信 299 8.2.1 工作原理 299 8.2.2 构建WebSocket服务 300 8.2.3 构建Bridge与协议解耦 301 8.2.4 构建调试页面与被调试页面之间的通信信道 303 8.3 San DevTools中的数据收集和处理 307 8.3.1 收集页面中的San数据 307 8.3.2 构建Agent 309 8.3.3 构建页面组件树 311 8.3.4 实时修改组件数据 315 8.3.5 组件性能数据的处理 317 8.3.6 事件与消息 324 8.3.7 san-store中的时间旅行 326 8.4 单元测试 332 8.4.1 DOM测试 332 8.4.2 快照测试 335 8.5 小结 336 第9章 San Native跨端融合 337 9.1 跨平台开发 337 9.1.1 JavaScript驱动的NA原生渲染 338 9.1.2 跨端渲染方案的优缺点 338 9.2 渲染引擎 342 9.2.1 供JavaScript调用的渲染API 342 9.2.2 宿主所使用的渲染引擎 342 9.2.3 实现JavaScript代码 343 9.3 高性能的跨端技术方案 343 9.3.1 响应式驱动NA渲染 344 9.3.2 适配跨端渲染 345 9.3.3 视图设计 346 9.3.4 事件系统 348 9.3.5 样式选择器 351 9.4 San Native的Web化 362 9.4.1 Web化的背后原理 362 9.4.2 Native渲染与Web渲染的差异 364 9.5 共享机制和多bundle 365 9.6 小结 368 第 10章 San的未来 369 |