前阵子一个后辈小学弟向我诉苦,说自己在参加某大厂开发的时候被面试官怼得哑口无言,场面让他一度十分尴尬。
面试场景再现
面试官:说说你简历上这个项目的架构?
小学弟:组件化!(一口咬定)
面试官:(点头)嗯,可以继续挖了,看看他对组件化底层原理的掌握程度怎样吧
面试官:为什么要进行项目组件化?
小学弟:方便开发。(斩钉截铁)
这四个字说完,空气就突然安静下来。
面试官:没了?
小学弟:(表示一脸茫然)啊?我说错了?
面试官:如何组件化?(叹了口气,看来只能多提点一下了,希望带得动)
小学弟:……看产品的需求吧。
接下来就是面试官的劈头盖脸的连珠炮弹……
面试官:组件模式和集成模式如何转换?
面试官:library依赖问题有哪些?
面试官:功能组件和Common组件了解吗?
面试官:组件之间AndroidManifest有哪些合并问题?
面试官:工程的build.gradle和gradle.properties文件说说?
不到半小时,这位小学弟的面试就结束了。
然后小学弟就收到了“回去等消息”的通知。结果,他当天晚上就看见面试官发了一条这样的朋友圈:
小学弟看完很受打击,就来找了我。今天就来好好掰扯一下“组件化路由”这个问题吧。
组件化真的很重要吗?
以前的Android开发大多用的中心化管理思想,将相同的资源集中进行管理。随着项目的发展,弊端渐显:集中管理的资源越来越多,多人开发也越来越麻烦。
尤其是在大公司或者是大项目,这些弊端的不良影响会被扩大几倍,所以现在越来越多的公司或项目都选择了组件化。
组件化开发的优点
简单的说,组件化解决了上面单一工程开发模式所有开发痛点:
组件化原理很简单,但是真正实施起来还是挺困难的:
组件化需要良好的架构设计,包括怎么拆分业务,组件之间怎么通信等等,需要有个高水平的架构师统筹全局,如果经验不足而盲目进行组件化反而会适得其反,带来更多的麻烦。
而且,对项目对项目进行组件化重构后随之而来的会出现各种开发问题,而路由框架的诞生就是为了解决这些问题的。
本次和大家分享一份由阿里P8大佬整理的组件化学习资料,一共209页,这份《高级Android组件化强化实战资料》开源分享,GitHub已标星8K!
该资料都是大佬在实际工作过程中的一些感悟和总结。里面记录了在实际工作中的组件化运用技巧。
适合人群:
- 具备移动开发基础;
- 具备一定自学能力;
- 立志成为高级工程师、架构师的安卓开发者
该资料分为三大块
第一章 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
-
……
以上就是阿里大佬熬夜整理的209页Android组件化强化实战资料,需要的朋友直接扫码找我获取完整文档。
学习方法推荐
其实,组件化的学习虽然不简单,但是也不难,主要是以下三点:
- 理论填鸭
- 多看源码
- 实战巩固
结合这个大佬编写的资料展开细讲。首先是看书中的组件化的原理知识,先练气筑基,然后研读“修炼秘笈”(高级Android组件化强化实战资料),看看配套的源码中组件化部的细节,开始结丹,最后根据实战项目手写代码,多练,打怪升级,最后化神。
“看源码”、“手写代码”……这些不能只是说说而已。只琢磨技术,不懂原理,就像是无源之水,无本之木,没有办法获得长久的发展。“纸上得来终觉浅,绝知此事要躬行。”只看不做,你会的都只是停留在脑子里的想法,你永远不知道实战的时候会出现什么意想不到的BUG。
听哥一句劝,只精通CV的Android程序员是没有前途的,等你加不了班了,你在公司的价值也就被榨干了,等待你的只有末尾淘汰。
总结
这份资料最具价值的就是实战项目部分。
理论部分教科书上已经足够了,但是实战的分析是很难找到的。阅读这份资料,就是在和大佬对话,相信你的收获一定不少。
PS:除了学习,这份资料还可以当做一个面试宝典来用,里面有很多大项目的组件化分析,相信你看过后再次面对面试官的时候一定能侃侃而谈。
最后在这里希望大家工作顺利,没有BUG,不加班,没有工作的朋友,面试顺利,offer不断。
有需要的朋友可以直接扫【
下方的二维码
】找我免费获取全套资料。
↓↓↓↓↓