简介
用Flutter开发App已经一年多了。这是一个跨境电商APP,基础功能都涉及到了,高级功能涉及还不多。所以有必要了解一些基础知识。
Flutter框架结构是哪都有的一篇基础文章,先抄了再说。
经典框架图
image.png
框架层
Flutter Framework,即框架层。
-
(Foundation 和 Animation、Painting、Gestures)对应dart:ui包,它是Flutter Engine暴露的底层UI库,提供动画、手势及绘制能力。 -
Rendering, 也就是Render Object Tree,是渲染树,代价较高,用比较算法,减少改动; -
Widgets,轻量级配置,随时重绘,不可变。是最顶层的Widget Tree。Material和Cupertino是两种风格,尽量用Material。目前已经到3.0版本,不过我们还在用2.0版本。3.0版本风格差别很大,谨慎引入。
引擎层
Engine,即引擎层。
- C++写的会图层, Skia 就在这里。
嵌入层
Embedder,即嵌入层。
-
Flutter 最终渲染、交互是要依赖其所在平台的操作系统 API,嵌入层主要是将 Flutter 引擎 ”安装“ 到特定平台上。
-
嵌入层采用了当前平台的语言编写,例如 Android 使用的是 Java 和 C++, iOS 和 macOS 使用的是 Objective-C 和 Objective-C++,Windows 和 Linux 使用的是 C++。













网友评论