渲染三棵树

image.png
Flutter渲染之Widget、Element、RenderObject

动态化方案

借助App热更渠道

特点

  • 对现有项目改造较少
  • 相对成熟,Native跟Flutter同时支持
  • 不支持 iOS

    阿里 / 北海Kraken

    高性能 Web 渲染引擎,基于 Flutter 构建

原理

image.png
image.png

特点

  • Kraken 实现了浏览器的子集
  • 基于 W3C 标准,拥有非常庞大的前端开发者生态,支持 Vue / React / Rax

    集成方式

    image.png
    image.png

    Tencent / MXFlutter

    MXFlutter 是一套使用 TypeScript/JavaScript 来开发 Flutter 应用的框架

原理

把 Flutter 的渲染逻辑中的三棵树(即:WidgetTree、Element、RenderObject )中的第一棵(即:WidgetTree),放到 JavaScript 中生成。用 JavaScript 完整实现了 Flutter 控件层封装,实现了轻量的响应式 UI 框架,支撑JS WidgetTree 的 build 逻辑,build 过程生成的UI描述, 通过Flutter 层的 UI 引擎转换成真正的 Flutter 控件显示出来。

image.png

特点

  • JavaScript 去实现 Widget
  • Flutter 升级怎么办?

    58 / Fair

    Fair是为Flutter设计的动态化框架

原理

image.png
image.png

本质上是通过语法分析把 Flutter 代码转换成 Bundle(json 或 fair格式)

特点