什么是组件化
组件化就是将一个app分成多个Module,如下图,每个Module都是一个组件(也可以是一个基础库供组件依赖),开发的过程中我们可以单独调试部分组件,组件间不需要互相依赖,但可以相互调用,最终发布的时候所有组件以lib的形式被主app工程依赖并打包成一个apk。
组件化优势
组件化优势
组件化就是将通用模块独立出来,以提高复用,将页面拆分为粒度更小的组件,组件内部除了包含UI实现,还包含数据层和逻辑层。
每个工程都可以独立编译、加快编译速度,独立打包。
每个工程内部的修改,不会影响其他工程。
业务库工程可以快速拆分出来,集成到其他App中。
迭代频繁的业务模块采用组件方式,业务线研发可以互不干扰、提升协作效率,并控制产品质量,加强稳定性。
并行开发,团队成员只关注自己的开发的小模块,降低耦合性,后期维护方便等。
开始组件化
(1),创建一个正常结构的Android项目
a,新建一个普通的Android工程
b,创建几个需要被组件化的功能模块,如登录注册模块,项目主模块,新闻模块等等(注意:common库只提供功能支持,一般不包含业务界面)
b1,将创建的库在主工程的首先dependencies {}中依赖
implementation project(':login')
implementation project(':main')
implementation project(':news')
implementation project(':common')
b2,然后在分别在login,main,news组件的dependencies {}中依赖
implementation project(':common')
image.png这个时候你的android项目结构应该是这样的(项目组件该怎么拆应该按照项目实际的功能模块来拆,我这里只是做个示例)
image.png
我们假设你现在已经在login,main,new组件中添加了界面,common库添加了基础依赖(rxjava,retrofit,glide,三方登录等你需要的库)这个时候你的项目就已经是一个正常的可以运行的项目
这个时候你的Run/Debug configurations应该是这样的,只有一个APP模块能启动
image.png
好了,到这里你已经拥有了一个完整的工程,下面我们开始组件化这个APP工程
网友评论