本文主要讲解框架实现原理,如果只是想了解一下如何使用,可直接到github上查看README文档
首先说明一下,本文将讲述的组件化与业内的插件化(如:Atlas, RePlugin等)不是同一个概念
组件化开发:就是将一个app分成多个Module,每个Module都是一个组件(也可以是一个基础库供组件依赖),开发的过程中我们可以单独调试部分组件,组件间不需要互相依赖,但可以相互调用,最终发布的时候所有组件以lib的形式被主app工程依赖并打包成1个apk。
插件化开发:和组件化开发略有不用,插件化开发时将整个app拆分成很多模块,这些模块包括一个宿主和多个插件,每个模块都是一个apk(组件化的每个模块是个lib),最终打包的时候将宿主apk和插件apk(或其他格式)分开或者联合打包。
本文将主要就以下几个方面进行介绍:
一、为什么需要组件化?
四、CC执行流程详细解析
六、老项目进行组件化改造的成本有多高?
一、为什么需要组件化?关于使用组件化的理由,上网能搜到很多,如业务隔离、单独以app运行能提高开发及调试效率等等这里就不多重复了,我补充一条:组件化之后,我们能很容易地实现一些组件层面的AOP,例如:
更多用法请看github上的
PS:配合我的另一个库()一起食用味道更佳:AOP实现在打开页面之前预加载页面所需的数据,并且这个预加载功能完全在组件内部实现,与外部无耦合。
六、老项目进行组件化改造的成本有多高?有些同学很想尝试组件化开发,但仅仅停留在了解的阶段,原因是担心在老项目上进行改造的工程量太大,不敢大改。
CC框架本身就是在老项目进行组件化改造的需求下设计出来的,考虑到了组件化过程中的一些痛点:
module名称=true
即可。几乎零门槛进行组件化开发
本文比较详细地介绍了android组件化开发框架《CC》的主要功能、技术方案及执行流程,并给出了使用方式的简单示例。
大家如果感兴趣的话可以来进行具体的分析,如果有更好的思路和方案也欢迎贡献代码进一步完善CC。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。