iOS 组件化

时间:2021-06-14 19:57:10

iOS 组件化介绍

  • 随着应用需求逐步迭代,应用的代码体积将会越来越大,为了更好的管理应用工程,我们开始借助CocoaPods版本管理工具对原有应用工程进行拆分。但是仅仅完成代码拆分还不足以解决业务之间的代码耦合,为了更好的让拆分出去的业务工程能够独立运行,必须进行组件拆分并且实现组件服务化。

拆分组件

(1)基础功能组件

(2)基础UI组件

(3)产品业务组件

总结:组件化适用于业务稳定、逻辑复杂的app,能够解决项目模块间得耦合问题,有助于多人大团队的协同开发。方便组件的单独开发、单独测试。

为什么要组件化?

  • 组件和组件之间没有明确的约束;
  • 组件单独开发、单独测试,不能揉入主项目中开发,测试也可以针对性的测试;
  • 业务划分更佳清晰,新人接手更佳容易,可以按组件分配开发任务。
  • 项目可维护性更强,提高开发效率。
  • 更好排查问题,某个组件出现问题,直接对组件进行处理。
  • 开发测试过程中,可以只编译自己那部分代码,不需要编译整个项目代码。

在一个项目越来越大,开发人员越来越多的情况下,项目会遇到很多问题。

  • 业务模块间划分不清晰,模块之间耦合度很大,非常难维护。
  • 所有模块代码都编写在一个项目中,测试某个模块或功能,需要编译运行整个项目。

组件化结构

  • 进行组件化开发后,可以把每个组件当做一个独立的app,每个组件甚至可以采取不同的架构,例如分别使用MVVM、MVC、MVCS等架构。