什么是组件化
首先我们了解一下什么是组件?组件就是一个功能模块,完成某种特定的功能。同时他可以向其他组件暴露出功 能,如分享库,定位库,登录库这些都是我们解耦出来的组件库,同时组件是可拆除的,就像一辆汽车我们把一个轱辘拆了照样可以运行就是跑的慢。组件是可拆除的就表示组件与组件之间是不会耦合的。 组件化就是需要去拆分出组件和实现组件之间通信的过程。
关于组件拆分
当我们添加一个新的功能库时如果他只依赖底层库,其他库对他的依赖可以使用组件化方案去通信我们就可以提 成一个组件库,如登录库,分享库。 组件拆分当然还有结合业务。 首先我们看一下下面这幅图 , 这幅就是我们组件化之后期望的效果。组件模块没有依赖而是并行在一个层级。
为什么要组件化
项目发展到一定程度,随着人员的增多,代码越来越臃肿,这时候就必须进行模块化的拆分。模块化是一种指导理念,其核心思想就是分而治之、降低耦合最终目的方便项目开发更加流畅,分工更加明确。同时业务线只需要依赖自己的模块无需引入其他业务模块从而可以加快编译速度 。
组件化就像一棵常青的技能树,不管是普通开发还是首席架构、CTO 都能够从中汲取足够的技术养料。普通开发往往对其只停留在“使用过”甚至是“听说过”的阶段,这其中甚至不乏一些工作 5 年以上的 Android 工程师,而对于技术骨干、架构师则往往需要对底层原理吃透。说白了,知道怎么用是一方面,知道为什么则是更为稀缺的能力。
对于大部分程序员来说,哪怕工作很久经验丰富,但依然会出现面对棘手问题束手无策的状况,大多是因为对出现问题的情况和处理思路模糊不清,导致此原因就是因为没有彻底搞懂底层原理。
如果你还没有完全掌握插件化组件化的底层原理,这份《高级Android组件化强化实战(附源码)》你有必要学习参考!既能够夯实底层原理等核心技术点,又能够掌握普通开发者,难以触及的架构设计方法论。大家如果需要的话,可以文末直接领取。
《高级Android组件化强化实战(附源码)》资料详情
该资料分为三大块
- 第一章 Android组件化初识
- 第二章 Android组件化初探
- 第三章 大厂APP的架构演化
第一章 Android组件化初识目录
- 组件化和模块化的区别
- 组件化和插件化的区别
- 组件化开发的优势
- 业务逻辑层
- 组件化开发要遇到的问题
- 从组件化实战来解决问题
- Android组件化基础
- ……
第二章 Android组件化初探目录
- 组件化演示案例
概述
模块化和组件化
组件化Demo
组件application和library动态切换
…… - WanAndroid APP 组件化项目实战附demo
版本更新
效果图
主要功能
项目目录结构
主要开源框架
……
第三章 架构演化(大厂篇)
-
从智行 Android 项目看组件化架构实践
组件化调整的原因和目标
组件化架构调整的整体规划
组件化架构调整中遇到的一些问题
……
-
得到 App
Android彻底组件化demo发布
JIMU使用指南
组件化拆分的感悟
……
-
微信 App
微信Android模块化架构重构实践
微信Android架构历史
为何再次重构微信
……
-
蘑菇街 App
蘑菇街 App 的组件化实现方式
组件生命周期管理
壳工程
遇到的问题
持续集成
周边设施
……
-
爱奇艺 App
基于Service的IPC通信
组件化跨进程通信的核心诉求
Andromeda
架构分析
……