什么是组件化
组件化思想是对模块化的进一步演变,相对与模块化,组件化更加灵活,可以在application与library之间相互转换!无论是组件化还是模块化,都是对大型项目的一种耦合度的解耦,方便团队协作开发!

上面是组件化的基本架构图,可以看到组件化一个很明显的特点就是分层!还有一个难点就是组件间的通信。架构图从下到上依次为基础层、组件层和应用层!
基础层主要包含一些基础库如图片加载框架、网络框架等;组件层就是从项目业务中拆分出来的相对独立的业务模块;应用层就是一个“app壳工程”,内部没有实质的业务实现,负责管理和组装其他组件!
实现组件化需要考虑以下问题:
- 组件拆分,即怎么对代码进行拆分
- 组件单独运行,即每一个组件可以作为application单独运行,也可以作为项目的一个library.
- 通信及页面跳转,即各个组件之间怎么进行数据传递及UI调用
- 组件的生命周期,即动态的管理组件的数据变动及视图加载
- 集成调试,即怎么高效的进行编译调试
为什么要学习组件化
一个项目,随着业务的发展,模块会变的越来越多,代码量也会变的异常庞大,进而可能开发的人会越来越多,这种情况下如果还是基于单一工程架构,那就需要每一个开发者都熟悉所有的代码,而且代码之间耦合严重,一个模块穿插着大量其他业务模块的逻辑,严重的话可能使项目处于牵一发而动全身,不能轻易修改的局面。
而且庞大的单一工程项目会导致编译速度极慢,开发者长时间等待编译结果,非常不利于开发工作。所以,就需要一个灵活的架构来解决这些问题。对于公司而言,项目规模越大,组件化的应用就越显得尤为重要,也因为如此,对于Android开发者而言,组件化技术已经是每一个中阶及以上的Android开发者需要掌握的必备技能之一。
如何学习组件化
到底该如何学习组件化,不是在这里三眼两语可以说清的,而且组件化技术已经不是什么新技术了,在网上随便一搜,关于组件化的学习文章,一抓一大把。而我觉得相对于理论资料的学习,更重要的是去多撸代码,多去实战实践,这也正是我今天要分享的。
我认识的一位腾讯T4大佬,应他们内部培训的需求,熬夜一个星期整理了一份涵盖微信、美团、爱奇艺、携程、支付宝、蘑菇街、智行、得到等大厂组件化架构实战解析的内部《高级Android组件化强化实战》学习手册。再征求得大佬的同意后,分享给大家,如果有需要的朋友,可以点赞+评论后,点击这里直接获取!
该资料分为三大块
- 第一章 Android组件化初识
- 第二章 Android组件化初探
- 第三章 架构演化(大厂篇)
第一章 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
……
-
携程App
-
支付宝 App
-
……
最后
到现在组件化真的不是什么新鲜东西了,大公司都用的滚瓜烂熟,龙飞凤舞了,也就是现在部分中型项目和小项目在组件化的路上努力。所以同志们,组件化没玩过的,不熟悉的赶紧搞起来。说一点,你不会组件化,发布影子工程那么对你来说就是个噩梦。
从本质上来讲任何技术进步都是在现实需求的逼迫下抓耳挠腮,耗尽无数头发才想出来的。哈哈,这里说个笑话罢了。所以呢,组件化这个东西出来这么久了,也发展了这么久了,用的人越来越多,那肯定是对我们显示开发大有裨益的,所以呀,还不会的小伙伴们,赶紧学起来,用起来吧!

本文深入讲解组件化的概念、优势及其实现方式,并通过实战案例详细分析微信、美团等大厂的组件化架构。
7万+





