混合工程与持续集成

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命令中。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,609评论 0 11
  • 彩排完,天已黑
    刘凯书法阅读 4,275评论 1 3
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 125,998评论 2 7