以下是经过一番思考并验证(目前仅在iOS验证)后的整体架构思考:
image.png解释一下:
dart代码单独一个仓库flutter_library(写dart代码,Android/iOS公用)
- 如果RD需要dart开发那么除了本地要有flutter环境外,主工程或者组件以git submodule的方式集成dart代码;(debug模式下需要源码联调)
- 如果RD不需要写dart代码,那么直接集成打好tag的私有仓库即可;
- 上线release可直接用打好tag的私有仓库;
dart仓库代码最后打出来后(build命令在这就不体现了,可以自行百度)iOS都是framework,Android是aar;
以iOS举例:FlutterFramework单独起一个git私有仓库(集成/打tag用)
- App.framework : dart业务代码(需要操心,每次有dart代码修改需要替换并整体重新打tag)
- Flutter.framework : Flutter Engine (不用操心,官方的)
- FlutterPluginRefistrant.framework : 集成插件的 (不用操心,官方的)
- 插件1.framework : 插件1 (不用操心)
网友评论