背景
组件化作为Android客户端技术的一个重要分支,近年来一直是业界积极探索和实践的方向。每个大厂内部的各个Android开发团队也在尝试和实践不同的组件化方案,并且在组件化通信框架上也有很多高质量的产出。本文主要介绍我们的组件化方案,希望对从事Android组件化开发的同学能有所启发。
为什么要组件化
近年来,为什么这么多团队要进行组件化实践呢?组件化究竟能给我们的工程、代码带来什么好处?我们认为组件化能够带来两个最大的好处:
1.提高组件复用性
可能有些人会觉得,提高复用性很简单,直接把需要复用的代码做成Android Module,打包AAR并上传代码仓库,那么这部分功能就能被方便地引入和使用。但是我们觉得仅仅这样是不够的,上传仓库的AAR库是否方便被复用,需要组件化的规则来约束,这样才能提高复用的便捷性。
2.降低组件间的耦合
我们需要通过组件化的规则把代码拆分成不同的模块,模块要做到高内聚、低耦合。模块间也不能直接调用,这需要组件化通信框架的支持。降低了组件间的耦合性可以带来两点直接的好处:
1.代码更便于维护
2.降低了模块的Bug率
怎样实现组件化
要实现组件化需要考虑的问题主要包括下面几个:
代码解耦。将一个庞大的工程拆分解耦,这是非常耗时耗力的工作,但这也是最基础最重要的一步
数据传递。每个组件都有可能提供给其他组件使用,主项目与组件、组件与组件之间的数据传递
UI跳转。
组件的生命周期。组件加载、卸载和降维的生命周期
集成调试。在开发阶段如何做到按需的编译组件?一次调试中可能只有一两个组件参与集成,这样编译的时间就会大大降低,提高开发效率。
代码隔离。如何杜绝耦合的产生。
下面给大家介绍的是全网最全的高级Android组件化强化实战手册,覆盖了整个互联网公司,受篇幅限制不会展示所有内容,只能截图展示部分,完整内容已整理成PDF文档。
朋友们如果有需要《高级Android组件化强化实战》手册,扫描下方二维码报名组件化训练营即可领取~
(扫码领取,限前200名)
第一章 Android组件化初识
组件化和模块化的区别
组件化和插件化的区别
组件化开发的优势
业务逻辑层
组件化开发要遇到的问题
从组件化实战来解决问题
Android组件化基础
……
第二章 Android组件化初探目录
组件化演示案例
概述
模块化和组件化
组件化Demo
组件application和library动态切换
……
WanAndroid APP 组件化项目实战附demo
版本更新
效果图
主要功能
项目目录结构
主要开源框架
……
第三章 架构演化(大厂篇)
从智行 Android 项目看组件化架构实践
组件化调整的原因和目标
组件化架构调整的整体规划
组件化架构调整中遇到的一些问题
得到 App
Android彻底组件化demo发布
JIMU使用指南
组件化拆分的感悟
……
微信 App
微信Android模块化架构重构实践
微信Android架构历史
为何再次重构微信
……
蘑菇街 App
蘑菇街 App 的组件化实现方式
组件生命周期管理
壳工程
遇到的问题
持续集成
周边设施
……
爱奇艺 App
基于Service的IPC通信
组件化跨进程通信的核心诉求
Andromeda
架构分析
……
美团 App
外卖客户端容器化架构的演进
美团外卖容器化架构全景图
外卖跨端容器建设
外卖页面容器建设
外卖容器化架构的衡量指标
外卖容器化架构的监控运维
外卖容器化架构的发布能力
……
美团Android组件化方案及组件消息总线modular-event实战
美团Android消息总线的演进之路:用LiveDataBus替代RxBus、EventBus
WMRouter:美团外卖Android开源路由框架
美团猫眼android模块化实战-可能是最详细的模块化实战
携程 App
携程移动App架构优化之旅
……
支付宝 App
Quinox 简介
Bundle 介绍
资源管理
容器化
……
Atlas-手淘组件化框架
Atlas是什么
组件化的诞生
解耦和依赖
性能的演进
……
有赞微商城
组件化改造概述
实现方案
实际应用案例
……
总结
组件化后让代码结构非常清晰,分层结构以及之间的交互很明了,团队中的任何一个人都可以很轻松的绘制出代码结构图,这个在之前是没法做到的,并且每个组件的编译时间从 10 分钟降到了几十秒,工作效率有了很大地提升,最关键的还是解耦之后,每次开发需求的时候,面对的代码越来越少,不用背负那么重的代码包袱,可以说达到了“代码越写越少”的理想情况。
如果你是一位Android开发者学好组件化是非常有必要的,而深入理解组件化的实战更是重中之重。
为了让大家更好的掌握组件化,我特邀前爱奇艺高级工程师lance给大家带来《Android--组件化路由框架》,带你详解路由框架的演进过程,轻松掌握路由原理,通过字节码插桩与Gradle,完成路由框架的终极实现,让你在大厂面试中更有竞争力。
Lance老师:
某游戏公司主程,前爱奇艺高级工程师;
专精领域:移动平台开发,NDK、架构、性能优化;
课程大纲
1.18 基础再差也能学会,路由框架的一步步演进
1、组件化项目架构
2、页面路由原理与实现
3、APT技术编译时代码自动生成
1.19 字节码插桩与Gradle,路由框架的终极实现
1、自定义Gradle插件
2、Android插件 Transform的应用
3、字节码插桩优化路由框架
发送暗号“666”添加雯雯老师,秒报名训练营即可
领取《高级Android组件化强化实战》手册
如遇扫码受限,请添加微信:xiangxue1269429207
推荐阅读: