Flutter iOS 混合工程自动化


问题

Flutter提供的混编方案直接依赖于Flutter工程和Flutter环境,非Flutte团队成员无法脱离Flutter环境进行开发,团队合作成本加重。

期望

Flutter默认的混编方式:不光依赖于flutter工程中的flutter产物,还依赖于flutter SDK中的xcode_backend.sh脚本。我们希望能够做到当项目混编的时候,没有开发flutter的团队成员能够完全脱离flutter,不需要flutter项目代码和安装flutter环境;而写flutter的团队成员能够按照原有的混编方式以方便开发和调试。

带着这个目标,我们来一步一步分析混编过程。

理清依赖

iOS项目都依赖了Flutter的哪些东西

Flutter iOS 混合工程自动化_第1张图片

看图,看图,这个是Flutter编译生成的Runner工作空间。iOS依赖的Flutter产物都在这个Flutter文件夹中。
依次来介绍一下这些家伙:

  • .symlinks
    Flutter的三方包package,是各个文件夹的索引,指向了本地的pub缓存区的包。每一个包里面都包含一个iOS的本地pod仓库,在包的iOS文件夹中。因而Flutter包的依赖方式直接pod导入即可。

  • App.framework
    由Flutter项目的Dart代码编译而成,仅仅是framework。集成的时候可以自己做成本地

你可能感兴趣的:(Flutter)