组件化开发,就是将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk,这就是组件化开发。比如在你的Application中,有多个module,每个module负责不同的业务逻辑。
android工程的组件一般分为两种,lib组件和application组件
application组件是指该组件本身就可以运行并打包成apk
lib组件是指该组件属于app的一部分,可以供其它组件使用但是本身不能打包成apk
为什么要有组件化?
加入一个app工程只有一个组件,随着app业务的壮大模块越来越多,代码量超10万是很正常的,这个时候我们会遇到以下问题
稍微改动一个模块的一点代码都要编译整个工程,耗时耗力
公共资源、业务、模块混在一起耦合度太高
不方便测试
插件化开发,组件化开发略有不用,插件化开发时将整个app拆分成很多模块,这些模块包括一个宿主和多个插件,每个模块都是一个apk(组件化的每个模块是个lib),最终打包的时候将宿主apk和插件apk分开或者联合打包。例如支付宝客户端等。
为什么有插件化?
有了组件化,为什么还要用插件化呢?插件化开发总的来说有以下几点好处(不同插件框架不一样):
宿主和插件分开编译
并发开发
动态更新插件
按需下载模块
解决方法数过多的问题