Flutter框架结构 2023-09-02 周六
2023-09-01 本文已影响0人
勇往直前888
简介
用Flutter
开发App
已经一年多了。这是一个跨境电商APP
,基础功能都涉及到了,高级功能涉及还不多。所以有必要了解一些基础知识。
Flutter
框架结构是哪都有的一篇基础文章,先抄了再说。
经典框架图
![](https://img.haomeiwen.com/i1186939/531b80c66a1f5501.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++。