展开全部

主编推荐语

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 本章小结
展开全部

评分及书评

评分不足
2个评分
  • 用户头像
    给这本书评了
    5.0
    得到真的啥书都有

      转发
      评论

    出版方

    人民邮电出版社

    人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。