一、对于一些问题的回应
最近为什么不怎么更文了?
从 2021 年 11 月份,到现在大概三个月的时间,没有发布过什么新文章。期间一波三折,经历了拆迁、装潢、搬家,很多琐事缠身,业余时间的主要精力也都放在了这本小册身上。小册在年前完成的,也算为我这平静的一年画上一个完美的句号。
现在已上架了哪些 Flutter 相关的小册?
在此之前已经发布了三本小册,分别针对 Flutter 中的 绘制
、手势
、动画
进行系统的介绍。现在,又加入了一位新兄弟 Flutter 滑动探索
:
Painting 绘制模块
: 《Flutter 绘制指南 - 妙笔生花》Gestures 手势模块
: 《Flutter 手势探索 - 指掌天下》Animation 动画模块
:《Flutter 动画探索 - 流光幻影》Flutter 滑动探索
:《Flutter 滑动探索 - 珠联璧合》
还会有其他的小册上架吗?
以前对 Flutter
知识体系进行过整体的规划,预计会通过 7
本小册,来全面认识 Flutter
框架。现在已经完成了四本,后续的内容会陆续进行,敬请期待~
之前的小册还会进行更新吗?
一方面,Flutter 的版本更新是比较快的,前三本小册书写时,还未使用空安全。或者 Flutter 有些破坏性的更新,会使旧版本出现问题,从而影响小册的使用。另一方面,随着本人对 Flutter
研究的深入,可能会有一些新的发现,或对之前代码的实现有一定的优化。或者一些错别字已经个人理解的偏差等。
这些都需要对小册内容进行更新,在后续会着手准备这些更新事宜。
小册定价这么低,划算吗?以后会涨价吗?
我并不是靠写文章吃饭的,所以并不太在意文字对我带来的利益。通过小册的撰写,让我有机会对 Flutter 的方方面面进行系统的梳理,其中为我技术上带来的成长与收获,是不能通过金钱来衡量的。通过我的分享,让更多人可以接触或钻研 Flutter ,本身也是一件很有意义的事。
预计的 Flutter
知识体系的七本小册
,都会以 3.5
元出售,不会涨价。
二、为什么选择探索滑动体系
我们日常开发中接触到的关于滑动的知识只是冰山一角,很多人也只是了解 ListView
、PageView
等几个组件的使用而已,甚至连 NestScrollView
和 CustomScrollView
都用不好,遇到 Sliver 就头大,完全不知道该怎么玩。我在一开始对它们也没有很深刻的认识。
当认清 Flutter 滑动体系的构成及运作逻辑后,从源码的角度去认识这些组件的构成和用途,自然能站在更高的维度来使用它们。在遇到关于滑动的异常或新需求时,可以从更广阔的视角去看待问题,而非只知皮毛,管中窥豹。
对源码的探索本身就是一件很有意义的事,从中可以看到创作者对类结构的定义,如何处理类与类之间的关系。对于一些精彩的逻辑处理,可能也会激发我们的灵感。当我们通过源码可以读懂他们所描绘的 风采
,在手指滑动列表的那一刻,目之所见已不再仅是视口的滑动,还有滑动机制中的各个对象如何像齿轮一样啮合,驱动整个体系的运转。
为何选择滑动体系作为第四本小册内容
滑动机制
可以看做是对框架层的一个承上启下体系。向上可以连接到 滑动组件 Widget 层
,向下可以连接到 手势 Gesture 层
、动画 Animation 层
;在 视口
和 Sliver
内容相关实现中,还会涉及到 渲染 Rendering 层
的知识。所以选取对 滑动体系
的探索作为第四本 Flutter 小册的内容。
另外,也是很多朋友希望深入了解一下 滑动体系
,但又苦于看不懂源码。我也比较像深入认识一下 滑动体系
,所以决定潜心探索一下,将其过程记录下来,分享给大家。
三、 本册内容简介
第一部分主要目的是对 视口滑动
的构成进行初步的认知,其中会通过对我们最熟悉的 ListView
进行源码分析,从而引出其背后更深层的知识,以此从源码中逐步认知构成 滑动体
所必要的成分。
第二部分是对 Scrollable
和 Viewport
这两个滑动构成要素做初步的认识。主要从成员属性的角度进行介绍,并结合源码进行分析,以此对 滑动体系
有个大致的认知,为后面的探索打下基础。
第三部分是对 Sliver
进行探索,首先通过对 Sliver
组件的使用开始介绍,然后从渲染对象的角度去分析 Sliver
组件存在的必要性。其中也包含对缓存区实现
的及 keepAlive
保活机制的探索。
最后一部分,是对滑动处理机制的探索。开始通过对 PageView
和 SingleChildScrollView
组件的源码实现进行分子,然后介绍 Notification
通知机制,在前面知识的铺垫下,最后对 ScrollableState
中拖动事件的回调处理进行分析。
对 Flutter 滑动体系的源码探索让我收获良多,也希望我眼中所见的光景,可以通过这本小册传达给更多人。谢谢大家一直以来的支持 ~