计算机
类型
可以朗读
语音朗读
486千字
字数
2022-01-01
发行日期
展开全部
主编推荐语
Flutter内核源码深入剖析,从组件开发到技术综合应用,多角度介绍 Flutter项目开发的方方面面。
内容简介
本书系统介绍Flutter跨平台技术的底层原理,横跨Java、C、Dart3种编程语言,可以帮助程序员学习前沿的跨平台技术,编写高质量的代码,深刻理解Flutter的内部运行机制。本书共11章。第1章~第3章讲解阅读Flutter内核源码的前置知识,如何获取和构建源码,以及Dart的高级特性等。第4章~第7章讲解Flutter内核源码的核心内容,涉及Embedder层、Engine层、Framework层等。
第8章~第11章基于对Flutter内核源码的分析,探讨如何编写高性能的业务代码,定位代码中的性能瓶颈,使用DevTool等工具的高阶特性,以及底层原理等高级主题。本书适合对跨平台技术感兴趣的开发人员、前端开发人员、Android/iOS开发人员,希望深入了解Flutter或有性能调优需求的开发人员,对移动端渲染框架感兴趣的开发人员,以及渴望深入了解Flutter底层实现的开发人员阅读。
目录
- 版权信息
- 内容提要
- 前言
- 资源与支持
- 第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 本章小结
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。