3.1 框架结构
Flutter框架主要分为两层:FrameWork层、Engine层,如下图所示:
说明:开发时,主要基于Framework层;运行时,则是运行在 Engine上。每层的具体介绍如下:
3.2 原理概述
开发时,主要基于Framework层;运行时,则是运行在 Engine上
Engine是Flutter的独立虚拟机,由它适配 & 提供跨平台支持;因为其存在,Flutter不使用移动端系统的原生控件, 而是使用自己 Engine 来绘制 Widget (Flutter的显示单元);Dart 代码是通过 AOT 编译为平台的原生代码,所以 Flutter可直接与平台通信,不需要JS引擎的桥接。
同时 Flutter 唯一要求系统提供的是 canvas,以实现UI的绘制。
编译时,具体如下: