加油宝APP组件化改造流程
Jul 5, 2018
什么是组件化:
将APP按业务及功能拆分为多个模块,每个模块为一个单独的组件(Module),各组件之间相互隔离并行开发,组件可以单独编译独立运行。
加油宝组件化改造背景:
- APP不断跌代,业务逐渐壮大,业务之间耦合严重。
- 不合理的设计,项目维护与迭代变得困难。
- 单Module项目,编译速度下降,影响开发与调试效率。
加油宝组件化改造目标:
- 代码结构清晰化
- 业务解耦合,业务组件可以单独调试
- 易于维护与测试
组件化基本结构
- 上层Main App相当于运行的容器,集成所有业务组件形成一个完整功能的APP。
- 中间层Module,是功能完整的独立业务组件,组件之间不可以相互依赖。
- 底层基础库Library,提供基础功能,被业务组件依赖。
组件化改造大流程
本次改造总共分为五个阶段,由简入繁,采用渐近式改造项目。
基础资源
将基础通用资源拆分出来,独立为一个BaseRes Module。方便被业务组件引用。
基础库
将基础功能从项目中拆分出来,独立为一个BaseLib Module。方便被业务组件依赖。
组件拆分
- 按业务功能将组件进行划分
- 组件可在Application与Library间切换
- 组件生命周期,加载、卸载、降维
- 组件间代码隔离
组件通信
- 路由通信,处理各组件间页面跳转。
- 事件通信,处理各组件间动作传递。
- 数据通信,处理各组件间数据传递。
业务重构
各业务组件可按需选择合适的架构设计。
改造难点
- 需要熟悉原有代码逻辑,并深入理解业务,划分代码边界。
- 组件化改造可能影响迭代进度。