混合工程与持续集成

Flutter混合工程中解除Native工程对Flutter的直接依赖的具体解决方法
将Flutter的依赖抽取为一个Flutter依赖库并发布到远程,供纯Native工程引用


混合工程与持续集成_第1张图片
图1-1

实现方法

Native工程依赖的Flutter分析
  • Flutter库和引擎----Flutter和Framework库和引擎库
  • Flutter工程----自己实现的Flutter模块功能,由Dart代码实现
  • 自己实现的Flutter Plugin

IOS的Flutter依赖的文件
 1.Flutter库和引擎:Flutter.framework
 2.Flutter工程的产物:App.framework
 3.Flutter Plugin:编译出来的各种Plugin的Framework,以及图1-2中的其他Framework


混合工程与持续集成_第2张图片
图1-2

IOS依赖的Flutter库的抽取

flutter-boot脚手架

 在工程化设计上,flutter-boot建立了一套标准的工程创建流程和友好的交互命令。在流程执行完成后,即拥有了混合开发的标准工程结构。
 在混合栈方面,flutter-boot能自动注入混合栈依赖,同时将核心的混合栈接入代码封装并注入原生工程内。


混合工程与持续集成_第3张图片
图1-3 flutter-boot解决问题的详细过程

Add Flutter to existing apps

原生工程和Flutter产生关联的三个部分:

  • Flutter的Framework:Flutter Plugin Native、Flutter Plugin Dart
  • 业务代码
  • 插件库
混合工程与持续集成_第4张图片
图1-4 四部分的差异

flutter-boot补充

四个过程

  • create
     搭建一个Flutter模块,包括Flutter模块的创建和Git仓库的部署。
  • link
     关联本地的原生工程和Flutter工程。会先请求获取Flutter工程的地址和原生工程的地址,然后将需要手动集成的部分通过脚本的方式自动集成。
  • remotelink && update
     在远端构建模式下,通过remotelink能够获取Flutter仓库代码,并在远端机器上进行构建。
     对于拉取Flutter代码并进行本地部署的过程,称为update过程。
  • init
     为了便于快速搭建,提供了一个命令集合“init”,将必备的环节以命令行交互的模式集成在了init命令中。

你可能感兴趣的:(混合工程与持续集成)