Android组件化和插件化开发

2018-01-24  本文已影响0人  遥遥的远方
Android组件化和插件化开发
什么是组件化和插件化?
module_plug.png

组件化开发 就是将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk,这就是组件化开发。

插件化开发 和组件化开发略有不用,插件化开发时将整个app拆分成很多模块,这些模块包括一个宿主和多个插件,每个模块都是一个apk(组件化的每个模块是个lib),最终打包的时候将宿主apk和插件apk分开或者联合打包。


组件化

概述

android工程的组件一般分为两种,lib组件和application组件

application组件是指该组件本身就可以运行并打包成apk

lib组件是指该组件属于app的一部分,可以供其它组件使用但是本身不能打包成apk

为什么要有组件化?

加入一个app工程只有一个组件,随着app业务的壮大模块越来越多,代码量超10万是很正常的,这个时候我们会遇到以下问题

组件化正确的姿势

既然选择使用组件化,那么如何正确的使用它呢?这里给出一种解决方案,如果你有更好的方案,欢迎交流。

我们创建了一个app工程project,默认里面有一个app组件,这个app组件是可以直接运行的。

怎么划分组件呢?

看着有点乱,整理出一张图


module.png

这样的好处有

每个模块可以独立开发编译运行

开发单个模块时可以共享资源和工具类

可以针对单个模块测试

demo地址:https://github.com/halibobo/ModuleBuild


插件化

为什么有插件化?

有了组件化,为什么还要用插件化呢?插件化开发总的来说有以下几点好处(不同插件框架不一样):

处境

开放出来的插件化开发框架比较多,他们各自都有自己的优势和和不足,实现的原理也有差别下面列

开源的插件化框架
上一篇 下一篇

猜你喜欢

热点阅读