类似推荐
编辑推荐
Flutter内核源码深入剖析,从组件开发到技术综合应用,多角度介绍 Flutter项目开发的方方面面。
内容简介
本书系统介绍Flutter跨平台技术的底层原理,横跨Java、C++、Dart 3种编程语言,主要内容包括:准备工作、环境搭建、启动流程、渲染管道等。
作者简介
作者赵裕,毕业于大连理工大学计算机与科学专业,目前就职于腾讯公司,负责PCG客户端开发工作。
拥有多年软件开发经验,在博客上发表了众多编程相关知识,获得了读者一致好评。目前重点关注Android、Flutter以及Java、Dart、Kotlin等。
章节目录
版权信息
内容提要
前言
资源与支持
第1章 准备工作
1.1 移动端跨平台简史
1.1.1 跨平台的起源
1.1.2 跨平台的价值
1.1.3 跨平台的演进
1.1.4 跨平台的未来
1.2 Flutter框架概览
1.2.1 分层架构模型
1.2.2 响应式与Widgets
1.2.3 初识渲染管道
1.2.4 平台嵌入与交互
1.3 本章小结
第2章 环境搭建
2.1 Flutter源码获取
2.2 Flutter源码结构
2.3 Flutter源码构建
2.4 Flutter源码调试
2.4.1 Framework源码调试
2.4.2 Embedder源码调试
2.4.3 Engine源码调试
2.5 本章小结
第3章 flutter tool
3.1 flutter tool启动流程
3.1.1 基于Bash的环境准备
3.1.2 基于Zone的上下文管理
3.1.3 基于args的子命令管理
3.2 flutter create详解
3.3 flutter build详解
3.3.1 BuildApkCommand流程分析
3.3.2 flutter.gradle流程分析
3.3.3 AssembleCommand流程分析
3.4 flutter attach详解
3.4.1 环境准备阶段
3.4.2 服务连接阶段
3.4.3 增量编译阶段
3.5 flutter run详解
3.6 本章小结
第4章 启动流程
4.1 Embedder启动流程
4.1.1 Embedder关键类分析
4.1.2 启动准备阶段
4.1.3 FlutterEngine初始化
4.1.4 FlutterView初始化
4.1.5 Framework启动
4.1.6 Engine入口整理
4.2 Engine启动流程
4.2.1 Engine关键类分析
4.2.2 JNI接口绑定
4.2.3 Settings解析
4.2.4 关键类初始化
4.3 Surface启动流程
4.3.1 Flutter绘制体系介绍
4.3.2 PlatformViewAndroid初始化
4.3.3 Surface初始化
4.4 Dart Runtime启动流程
4.4.1 Dart Runtime介绍
4.4.2 Dart VM创建流程
4.4.3 Isolate启动流程
4.5 Framework启动流程
4.5.1 Framework关键类分析
4.5.2 Binding启动流程
4.6 本章小结
第5章 渲染管道
5.1 首帧渲染
5.1.1 Widget、Element与RenderObject
5.1.2 根节点构建流程
5.1.3 案例分析
5.1.4 请求渲染
5.2 Vsync机制分析
5.2.1 Vsync准备阶段
5.2.2 Vsync注册阶段
5.2.3 Vsync响应阶段
5.2.4 Framework响应阶段
5.2.5 Continuation设计分析
5.3 Build流程分析
5.3.1 Mark阶段
5.3.2 Flush阶段
5.3.3 清理阶段
5.4 Layout流程分析
5.4.1 Mark阶段
5.4.2 Flush阶段
5.4.3 Layout实例分析
5.5 Paint流程分析
5.5.1 Compositing-State Mark阶段
5.5.2 Compositing-State Flush阶段
5.5.3 Paint Mark阶段
5.5.4 Paint Flush阶段
5.6 Composition流程分析
5.6.1 Mark阶段
5.6.2 Flush阶段
5.7 Rasterize流程分析
5.8 本章小结
第6章 Box布局模型
6.1 Box布局概述
6.2 Align布局流程分析
6.3 Flex布局流程分析
6.4 本章小结
第7章 Sliver布局模型
7.1 Sliver布局概述
7.2 RenderViewport布局流程分析
7.3 RenderSliverToBoxAdapter布局流程分析
7.4 本章小结
第8章 Framework探索
8.1 StatefulWidget生命周期分析
8.2 InheritedWidget原理分析
8.3 Key原理分析
8.3.1 GlobalKey
8.3.2 LocalKey
8.4 Animation原理分析
8.4.1 补间动画
8.4.2 物理动画
8.5 Gesture原理分析
8.5.1 目标收集
8.5.2 手势竞争
8.5.3 双击事件
8.5.4 拖曳事件与列表滑动
8.6 Image原理分析
8.6.1 框架分析
8.6.2 网络图片加载
8.6.3 缓存管理
8.7 Navigation原理分析
8.8 本章小结
第9章 Embedder探索
9.1 Platform Channel原理分析
9.1.1 Platform Channel架构分析
9.1.2 BasicMessageChannel流程详解
9.1.3 MethodChannel流程分析
9.1.4 EventChannel原理分析
9.2 Platform View原理分析
9.2.1 Platform View架构
9.2.2 Virtual Display原理分析
9.2.3 Hybrid Composition原理分析
9.3 Plugin原理分析
9.4 本章小结
第10章 Engine探索
10.1 消息循环原理分析
10.1.1 消息循环启动
10.1.2 任务注册
10.1.3 任务执行
10.2 动态线程合并技术
10.2.1 合并、维持与消解
10.2.2 合并状态下的任务执行
10.3 本章小结
第11章 优化实践
11.1 平台资源复用
11.2 Flex布局实战
11.3 本章小结
Flutter内核源码剖析是2022年由人民邮电出版社出版,作者赵裕。
得书感谢您对《Flutter内核源码剖析》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。