混合开发简介
使用 Flutter 从零开始开发 App 是一件轻松惬意的事情,但对于一些成熟的产品来说,完全摒弃原有 App 的历史沉淀,全面转向 Flutter 是不现实的。因此使用 Flutter 去统一 Android、iOS 技术栈,把它作为已有原生 App 的扩展能力,通过有序推进来提升移动终端的开发效率。
目前,想要在已有的原生 App 里嵌入一些 Flutter 页面主要有两种方案。一种是将原生工程作为 Flutter 工程的子工程,由 Flutter 进行统一管理,这种模式称为统一管理模式。另一种是将 Flutter 工程作为原生工程的子模块,维持原有的原生工程管理方式不变,这种模式被称为三端分离模式。

在 Flutter 框架出现早期,由于官方提供的混编方式以及资料有限,国内较早使用 Flutter 进行混合开发的团队大多使用的是统一管理模式。但是,随着业务迭代的深入,统一管理模式的弊端也随之显露,不仅三端(Android、iOS 和 Flutter)代码耦合严重,相关工具链耗时也随之大幅增长,最终导致开发效率降低。所以,后续使用 Flutter 进行混合开发的团队大多使用三端代码分离的模式来进行依赖治理,最终实现 Flutter 与原生代码的分离管理。

