iOS 组件化介绍
- 随着应用需求逐步迭代,应用的代码体积将会越来越大,为了更好的管理应用工程,我们开始借助CocoaPods版本管理工具对原有应用工程进行拆分。但是仅仅完成代码拆分还不足以解决业务之间的代码耦合,为了更好的让拆分出去的业务工程能够独立运行,必须进行组件拆分并且实现组件服务化。
拆分组件
(1)基础功能组件
(2)基础UI组件
(3)产品业务组件
总结:组件化适用于业务稳定、逻辑复杂的app,能够解决项目模块间得耦合问题,有助于多人大团队的协同开发。方便组件的单独开发、单独测试。
为什么要组件化?
- 组件和组件之间没有明确的约束;
- 组件单独开发、单独测试,不能揉入主项目中开发,测试也可以针对性的测试;
- 业务划分更佳清晰,新人接手更佳容易,可以按组件分配开发任务。
- 项目可维护性更强,提高开发效率。
- 更好排查问题,某个组件出现问题,直接对组件进行处理。
- 开发测试过程中,可以只编译自己那部分代码,不需要编译整个项目代码。
在一个项目越来越大,开发人员越来越多的情况下,项目会遇到很多问题。
- 业务模块间划分不清晰,模块之间耦合度很大,非常难维护。
- 所有模块代码都编写在一个项目中,测试某个模块或功能,需要编译运行整个项目。
组件化结构
- 进行组件化开发后,可以把每个组件当做一个独立的app,每个组件甚至可以采取不同的架构,例如分别使用MVVM、MVC、MVCS等架构。