前言
上个星期,我分享了一篇关于Android组件化的文章↓↓↓
Android组件化初探【含Demo】
后面看见评价区有朋友就“组件化”这个知识点发表了自己的看法。
我觉得这位朋友说的很有道理,今天在这里就想和大家好好探讨一下“组件化”这个知识点。
为什么要进行组件化开发?
这里推荐一篇文章:为什么要进行组件化开发?
这里给怕麻烦的朋友简单的说一下吧,单一工程开发模式有很多弊端,经常会遇到以下痛点:
- 对工程的任意修改调试都要编译整个工程,效率十分低下
- 不利于多人团队协同开发
- 无法做到功能复用
- 业务模块间耦合严重
- 不利于后期项目功能维护以及迭代开发
以上问题已经严重影响了我们团队的开发效率以及质量,所以作者极力推崇组件化开发方式。
本文描述了单一工程开发与组件化开发的优缺点,这些都是在实际工作过程中的一些感悟。需要注意的是,我们并不要为了组件化而组件化,我们要根据实际情况来决定。如果组件化带来的好处远大于单一工程开发,那你就大胆使用组件化开发方案吧。
怎样实现组件化呢?
要实现组件化需要考虑的问题主要包括下面几个:
- 代码解耦。将一个庞大的工程拆分解耦,这是非常耗时耗力的工作,但这也是最基础最重要的一步
- 数据传递。每个组件都有可能提供给其他组件使用,主项目与组件、组件与组件之间的数据传递
- UI跳转。
- 组件的生命周期。组件加载、卸载和降维的生命周期
- 集成调试。在开发阶段如何做到按需的编译组件?一次调试中可能只有一两个组件参与集成,这样编译的时间就会大大降低,提高开发效率。
- 代码隔离。如何杜绝耦合的产生。
以上问题就是为什么大家一听“组件化”感觉都会,但是上阵的时候又感觉困难重重的原因。
下面给大家介绍的是由一位阿里P8大佬熬夜整理的高级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
-
……
以上就是阿里大佬熬夜整理的209页Android组件化强化实战资料,需要的朋友直接点击下方的卡片获取完整文档。
学习方法推荐
其实,组件化的学习虽然不简单,但是也不难,主要是以下三点:
- 理论填鸭
- 多看源码
- 实战巩固
结合这个大佬编写的资料展开细讲。首先是看书中的组件化的原理知识,先练气筑基,然后研读“修炼秘笈”(高级Android组件化强化实战资料),看看配套的源码中组件化部的细节,开始结丹,最后根据实战项目手写代码,多练,打怪升级,最后化神。
“看源码”、“手写代码”……这些不能只是说说而已。只琢磨技术,不懂原理,就像是无源之水,无本之木,没有办法获得长久的发展。“纸上得来终觉浅,绝知此事要躬行。”只看不做,你会的都只是停留在脑子里的想法,你永远不知道实战的时候会出现什么意想不到的BUG。
听哥一句劝,只精通CV的Android程序员是没有前途的,等你加不了班了,你在公司的价值也就被榨干了,等待你的只有末尾淘汰。
总结
这份资料最具价值的就是实战项目部分。
理论部分教科书上已经足够了,但是实战的分析是很难找到的。阅读这份资料,就是在和大佬对话,相信你的收获一定不少。
PS:除了学习,这份资料还可以当做一个面试宝典来用,里面有很多大项目的组件化分析,相信你看过后再次面对面试官的时候一定能侃侃而谈。
最后在这里希望大家工作顺利,没有BUG,不加班,没有工作的朋友,面试顺利,offer不断。