[办公软件]
得到、微信、美团,android混合开发基础恶补篇
电脑办公
发布于:2021-12-25 10:19
|
阅读数:606
|
评论:0
|
- 别的模块已实现的类似功能,自己要用只能去复制一份代码再改改?
- “这个不是我负责的,我不管”,代码责任范围不明确?
- 只做了一个模块的功能,但改动点很多,所以要完整回归测试?
- 做了个需求,但不知不觉导致其他模块出现bug?
如果有这些烦恼,说明你的项目需要进行 组件化 了。
[]( )二、组件化介绍 — 优势及架构
组件化,去除模块间的耦合,使得每个业务模块可以独立当做App存在,对于其他模块没有直接的依赖关系。 此时业务模块就成为了业务组件。
而除了业务组件,还有抽离出来的业务基础组件,是提供给业务组件使用,但不是独立的业务,例如分享组件、广告组件;还有基础组件,即单独的基础功能,与业务无关,例如 图片加载、网络请求等。这些后面会详细说明。
组件化带来的好处 就显而易见了:
- 加快编译速度:每个业务功能都是一个单独的工程,可独立编译运行,拆分后代码量较少,编译自然变快。
- 提高协作效率:解耦 使得组件之间 彼此互不打扰,组件内部代码相关性极高。 团队中每个人有自己的责任组件,不会影响其他组件;降低团队成员熟悉项目的成本,只需熟悉责任组件即可;对测试来说,只需重点测试改动的组件,而不是全盘回归测试。
- 功能重用:组件 类似我们引用的第三方库,只需维护好每个组件,一建引用集成即可。业务组件可上可下,灵活多变;而基础组件,为新业务随时集成提供了基础,减少重复开发和维护工作量。
下图是我们期望的组件化架构:
- 组件依赖关系是上层依赖下层,修改频率是上层高于下层。
- 基础组件是通用基础能力,修改频率极低,作为SDK可共公司所有项目集成使用。
- common组件,作为支撑业务组件、业务基础组件的基础(BaseActivity/BaseFragment等基础能力),同时依赖所有的基础组件,提供多数业务组件需要的基本功能,并且统一了基础组件的版本号。所以 业务组件、业务基础组件 所需的基础能力只需要依赖common组件即可获得。
- 业务组件、业务基础组件,都依赖common组件。但业务组件之间不存在依赖关系,业务基础组件之间不存在依赖关系。而 业务组件 是依赖所需的业务基础组件的,例如几乎所有业务组件都会依赖广告组件 来展示Banner广告、弹窗广告等。
- 最上层则是主工程,即所谓的“壳工程”,主要是集成所有的业务组件、提供Application唯一实现、gradle、manifest配置,整合成完备的App。
[]( )三、组件化开发的问题点
我们了解了组件化的概念、优点及架构特点,那么要想实施组件化,首先要搞清楚 要解决问题点有哪些?
核心问题是 业务组件去耦合。那么存在哪些耦合的情况呢?前面有提到过,页面跳转、方法调用、事件通知。 而基础组件、业务基础组件,不存在耦合的问题,所以只需要抽离封装成库即可。 所以针对业务组件有以下问题:
- 业务组件,如何实现单独运行调试?
- 业务组件间 没有依赖,如何实现页面的跳转?
- 业务组件间 没有依赖,如何实现组件间通信/方法调用?
- 业务组件间 没有依赖,如何获取fragment实例?
- 业务组件不能反向依赖壳工程,如何获取Application实例、如何获取Application onCreate()回调(用于任务初始化)?
最近小编有幸在字节跳动高工手里扒到这份“组件化实战学习手册”,这位大佬主导开发过多个采用组件化架构的APP项目。现在我只想吹爆!这位大佬熬夜半个月,把积累的经验和踩的坑都进行了总结,整理成了长达220页的学习手册,手册中收录了大厂热门的组件化项目实战,从新手到架构师,这份学习手册足以。
[]( )第一章 Android组件化初识
- 组件化和模块化的区别
- 组件化和插件化的区别
- 组件化开发的优势
- 业务逻辑层
- 组件化开发要遇到的问题
- 从组件化实战来解决问题
- Android组件化基础
……
[]( )第二章 Android组件化初探目录
概述
模块化和组件化
组件化Demo
组件application和library动态切换
……
- WanAndroid APP 组件化项目实战附demo
版本更新
效果图
主要功能
项目目录结构
主要开源框架
……
[]( )第三章 架构演化(大厂篇)
组件化调整的原因和目标
组件化架构调整的整体规划
组件化架构调整中遇到的一些问题
Android彻底组件化demo发布
JIMU使用指南
组件化拆分的感悟
……
微信Android模块化架构重构实践
微信Android架构历史
为何再次重构微信
……
最后
总而言之,Android开发行业变化太快,作为技术人员就要保持终生学习的态度,让学习力成为核心竞争力,所谓“活到老学到老”只有不断的学习,不断的提升自己,才能跟紧行业的步伐,才能不被时代所淘汰。
在这里我分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司19年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。需要的朋友可以私信我【资料】或者 点这里 免费领取
还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。 领取地址: Android学习PDF+架构视频+最新面试文档+源码笔记
|
免责声明:
1. 本站所有资源来自网络搜集或用户上传,仅作为参考不担保其准确性!
2. 本站内容仅供学习和交流使用,版权归原作者所有!© 查看更多
3. 如有内容侵害到您,请联系我们尽快删除,邮箱:kf@codeae.com
|
|
|
|
|