android组件化方案
组件化:
Android
studio改变了项目构建方式,eclipse环境下的工作空间和project变成现在的module和项目,这样类别虽然不精确但是这个不是重点,重点他加入项目构建工具gradle使得我们项目构建变得非常简单了。接下来用一个项目组件化方案来体会一下项目组件化的。
组件化好处:
1、架构清晰业务组件间完成接耦合。
2、每个业务组件都可以根据BU需求完成独立app发布。
3、开发中使开发者更加轻松,开发中加快功能开发调试的速度。
4、业务组件整体删除添加替换变得非常轻松,减少工程中的代码资源等冗余文件。
5、业务降级,业务组件在促销高峰期间可以业务为单元关闭,保证核心业务组件的顺利执行。
项目组件化方案
概述:
1、module library 切换。
2、组件间跳转uri跳转。
3、组件间通讯 binder机制。
首先看看项目中的角色:
发现有一根业务总线讲所有组件个串联起来,其中组件总线相当于主工程(壳工程mudule),而业务组件相当于工程中(module/library)。可以看出组件化实现可以有自己认定的维度,这里只是使用了最常用的维度按照业务区分组件。
下面我们从具体角度来来看看工程结构: 主要有三个角色:
1、主工程(壳工程mudele):主要负责事情不塞入任何具体业务逻辑,主要用于使用组合业务组件、初始化配置和发布应用配置等操作。
2、组件(module/library):主要实现具体业务逻辑,尽可能保证业务独立性,例如现在手淘这样一个大型的app几乎每个bu功能块都能够拿出来作为一个独立业务app。但是没有这么大型也可以按照小一些的业务逻辑来区分组件,例如:购物车组件、收银台组件、用户中心组件等,具体更具自己的项目需要来划分。
3、公共库(library):公共使用的工具类、sdk等库,例如eventbus、xutils、rxandroid、自定义工具类等等,这些库可以做成一个公共common
sdk、也可以实现抽离很细按照需求依赖使用。
他们之间的关系则是 主工程依赖组件、组件依赖公共库。
组件开发中分为两种模式一种开发测试模式、一种是发布模式:
1、开发测试模式:这种模式下面组件应该是独立module模式,module是可以独立运行的,只要保证他对其他业务没有依赖就可以独立开发测试。
2、发布模式:这时候组件应该library模式被主工程依赖组合,发布运行,所有业务将组合成完整app发布运行。