前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【封神之作】终章 - Flutter 渲染小册

【封神之作】终章 - Flutter 渲染小册

作者头像
张风捷特烈
发布2022-05-09 13:36:49
4900
发布2022-05-09 13:36:49
举报
1. Flutter 系列小册发展史

历经漫漫岁月,从 2020年11月11日 起 《Flutter 绘制指南 - 妙笔生花》的发布,至今已有一年半的时光了。如今 Flutter 框架层的进阶探索已经算是终结了,整个框架层的运行流程尽收眼底,《Flutter 渲染机制 - 聚沙成塔》算是给这场旅行画上完美的句号。

下面给这六本 进阶探索 一个全家福:

小册名称

发布时间

代码仓库

售价(RMB)

《Flutter 绘制指南 - 妙笔生花》

2020年11月11日

idraw

3.28

《Flutter 手势探索 - 执掌天下》

2021年05月13日

itouch

3.5

《Flutter 动画探索 - 流光幻影》

2021年07月09日

ianim

3.5

《Flutter 滑动探索 - 珠联璧合》

2022年02月10日

iscroll

3.5

《Flutter 布局探索 - 薪火相传 》

2022年03月30日

ilayout

3.5

《Flutter 渲染机制 - 聚沙成塔 》

2022年04月27日

irender

3.5

这六本小册的创作史,也是我对 Flutter 认知的成长史。本系列还剩最后一本 《Flutter 语言基础 - 梦始之地》,这本将为 无编程基础的朋友进行入门引导。

2.小册简介

通过前面 绘制动画手势 三本小册,对 Framework 层的 PaintingAnimationGestures 进行了单独的研究。之后又通过 布局滑动 两个小册,以 Widgets 层为切入点,通过对 滑动布局 组件的源码研究,认识了 Rendering 层的一些知识。

而本册将站在更高的视角,去探索 Flutter 框架中从 Widget 到渲染到屏幕之上,所经历的所有流程。在此期间,我们会遇到到被框架封装的各种角色,认识他们的作用和关系。可以从全局的视角去看待 Widget 的分类、去理解 State 的价值、去见证在界面更新中的对象的变与不变。

3. 小册内容介绍

对于渲染机制来说,主要包括两个方面:构建流程渲染流程 。本册针对这两个方面,分为4个模块:

模块一:从 runApp 开始探索,逐步了解三棵树的概念,及形成过程。 一开始,单刀直入,直指构建核心,探索 Widget 是如何从一个配置信息结构,一步步使 元素树渲染树 成型的。大家也许都知道在框架内有的概念,但应该很少人知道: 元素树渲染树 的数据结构在实现上是有很大差异的,这也是我们想要主要探索的。

模块二:了解 Element 和 Widget 的族系衍生,以及 State 和 Key 在更新时的作用 。 我们都知道 WidgetFlutter 中非常多和繁杂,从表面上很难去对它们进行归类,不识庐山真面目只缘身在此山中。但从源码的角度,就可以跳出表象的束缚,从根源上其去发现共性,思考它们进行族系分化的必要性和意义。这是理解 构建流程 非常重要的模块。

模块三:探索 WidgetsBinding 的初始化与两个 Owner 的源码实现。 这一部分会从 WidgetsBinding 初始化流程中,学到很多 mixin 相关的使用细节。另外从源码分析两个非常重要的管理者,BuildOwner 用于管理 构建流程 中的ElementPipelineOwner 用于管理 渲染流程 中的 RenderObject 。抓住这两个对象,就相当于拿捏了渲染机制的命脉,这里也为后面探索渲染流程打下基础。

模块四:对渲染流程进行分析,探索 RenderObject 、Layer 的源码核心和总结篇。 这是最后一块,探索 RenderObject 是如何工作的,Layer 是如何形成树的,最终又是什么决定屏幕渲染内容的。最后,会对本册进行一个总结,从全新的视角去认识 Flutter 框架。

最后:由于纯手工码字以及认知的局限性,如果本册内容上有什么错误疑问错别字修改建议,可在评论区指正,或直接联系我进行探讨。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-04-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Flutter 系列小册发展史
  • 2.小册简介
  • 3. 小册内容介绍
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档