美文网首页
混合工程与持续集成

混合工程与持续集成

作者: 缪呜 | 来源:发表于2021-04-16 17:58 被阅读0次

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


    图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


    图1-2

    IOS依赖的Flutter库的抽取

    flutter-boot脚手架

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


    图1-3 flutter-boot解决问题的详细过程

    Add Flutter to existing apps

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

    • Flutter的Framework:Flutter Plugin Native、Flutter Plugin Dart
    • 业务代码
    • 插件库
    图1-4 四部分的差异

    flutter-boot补充

    四个过程

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

    相关文章

      网友评论

          本文标题:混合工程与持续集成

          本文链接:https://www.haomeiwen.com/subject/thbelltx.html