前言
近年来,为什么这么多团队要进行组件化实践呢?组件化究竟能给我们的工程、代码带来什么好处?我们认为组件化能够带来两个最大的好处:
1. 提高组件复用性
可能有些人会觉得,提高复用性很简单,直接把需要复用的代码做成 Android Module,打包 AAR 并上传代码仓库,那么这部分功能就能被方便地引入和使用。
但是我们觉得仅仅这样是不够的,上传仓库的 AAR 库是否方便被复用,需要组件化的规则来约束,这样才能提高复用的便捷性。
2. 降低组件间的耦合
我们需要通过组件化的规则把代码拆分成不同的模块,模块要做到高内聚、低耦合。模块间也不能直接调用,这需要组件化通信框架的支持。
降低了组件间的耦合性可以带来两点直接的好处:
- 代码更便于维护
- 降低了模块的Bug率
下面给大家介绍的是全网最全的高级 Android 组件化强化实战手册,手册分为三个大章节,Android 组件化初识,Android组件化初探 和 架构演化(大厂篇),最主要的就是第三个章节——架构演化(大厂篇)。
篇幅有限,手册内容较多,下面主要介绍内容大纲,详细内容可以到文末免费领取!
第一章 Android 组件化初识
- 组件化和模块化的区别
- 组件化和插件化的区别
- 组件化开发的优势
- 业务逻辑层
- 组件化开发要遇到的问题
- 从组件化实战来解决问题
- Android 组件化基础
第二章 Android组件化初探
组件化演示案例
- 概述
- 模块化和组件化
- 组件化Demo
- 组件application和library动态切换
WanAndroid APP 组件化项目实战(附demo)
- 简介
- 版本更新
- 效果图
- 主要功能
- 项目目录结构
- 主要开源框架
第三章 架构演化(大厂篇)
组件化作为 Android 客户端技术的一个重要分支,近年来一直是业界积极探索和实践的方向。每个大厂内部的各个Android 开发团队也在尝试和实践不同的组件化方案,并且在组件化通信框架上也有很多高质量的产出。
从智行 Android 项目看组件化架构实践
- 组件化调整的原因和目标
- 组件化架构调整的整体规划
- 组件化架构调整中遇到的一些问题
- 组件化架构的实践成果
得到 App
- Android彻底组件化demo发布
- Android彻底组件化—代码和资源隔离
- 组件化:代码隔离也难不倒组件的按序初始化
微信 App
- 微信Android模块化架构重构实践
- 微信Android架构历史
- 为何再次重构微信
- 重塑模块化
- 取舍和选择
- 代码之外,架构之内
蘑菇街 App
- 实现方式
- 组件生命周期管理
- 壳工程
- 遇到的问题
- 持续集成
- 周边设施
爱奇艺 App
- 关于组件化
- 基于Service的IPC通信
- 组件化跨进程通信的核心诉求
- Andromeda
- 架构分析
美团 App
- 外卖客户端容器化架构的演进
- 美团外卖容器化架构全景图
- 外卖跨端容器建设
- 外卖页面容器建设
- 外卖容器化架构的衡量指标
- 外卖容器化架构的监控运维
- 外卖容器化架构的发布能力
美团 Android 组件化方案及组件消息总线 modular-event 实战
- 组件化之前的状态
- 组件化方案调研
- 美团其他团队组件化方案调研
- 组件化消息总线框架modular-event
- 组件消息总线modular-event的实现
- 消息总线modular-event的结构
- 使用动态代理实现运行时调用
- 订阅和发送的模式
美团 Android 消息总线的演进之路:用 LiveDataBus 替代 RxBus、EventBus
- 背景
- RxBus的出现
- 引入LiveDataBus的想法
- 为什么使用LiveData构建数据通信总线LiveDataBus
- LiveDataBus的设计和架构
- LiveDataBus最终实现
WMRouter:美团外卖 Android 开源路由框架
- 功能简介
- 适用场景
- 基本概念解释
- URI跳转
- 页面跳转来源
- 平台化与两端复用
- 通信问题
- 复用问题与ServiceLoader模块
- 依赖注入
- 编译问题
- WMRouter的推广
美团猫眼android模块化实战-可能是最详细的模块化实战
- 为什么做模块化
- 解耦到什么程度?
- 原项目耦合结构
- 准备工作
- 接口的抽离
- 解耦方面的其他工作
- 模块间/页面间通信
- lib独立运行
携程 App
- 产品
- 无线后端服务架构
- App工程架构
- Native的插件化和HotFix
支付宝 App
- Quinox 简介
- Bundle 介绍
- 资源管理
- 容器化
Atlas-手淘组件化框架的前世今生和未来的路
- Atlas是什么
- 组件化的诞生
- 解耦和依赖
- 性能的演进
有赞微商城
- 有赞移动应用如何给页面安上“任意门”
- 有赞微商城-Android组件化方案
- 架构调整
- 实现方案
- Modular-support
- 规划