Android项目组件化开发文集
前言
模块化和组件化的概念已经看的很多,也都不是新的概念了,很多项目也已经使用了模块化和组件化,本文对现有的模块化与组件化分析得比较深入的文章进行整理。
当项目做得业务需求和层级增多,原有的基础层级已经不能满足不断增加的业务需求,代码也变得越来越臃肿。组件化将代码解耦分层、分而治之。
大致上来说,组件化是指单一的功能组件。目的就是基于可重用的,将一个大系统拆分成一个个独立的组件。而模块指的是独立的业务模块,按照业务对项目进行拆分。相对于组件来说,粒度更大。
文章系列
文章对模块化、组件化与插件化概念进行讨论,形象化地让人记住组件化与插件化的区别,进而详细表述如何进行组件化及组件化的步骤。
文章主要通过对“得到app”的项目代码进行组件化拆分,设计一套完整的组件化方案。
文章讨论了为什么要组件化、模块化,从业务的角度,讲解了为什么要拆分App业务,如何拆分,以及优点等等。
下图为组件示意
Android项目组件化开发文集下图为模块示意
Android项目组件化开发文集可以看出,一个工程由多个模块组成,每个模块由多个组件构成。但有时候,两者的界限还是比较模糊。
4. 浅谈Android组件化
这篇是采访得到APP的Android 技术专家张明庆老师,了解其组件化背后的故事,是对采访稿的整理。
文中也讨论了模块化、组件化和插件化的区别,以及如何取舍插件化和组件化,及组件化后的成果。具体如何实现组件化,可参考文章系列的一和二。
这篇文章对于模块化的概念和分层设计,以安居客 Android 端的模块化设计方案为例,给予了深入的分析和阐述。
Android项目组件化开发文集另外,对模块间通讯框架也给出了设计方案,如下图
Android项目组件化开发文集项目实践系列
此文以安居客公司项目的开发过程为例,阐述了组件化模块化开发的必要性,与文章系列5相对应。
安居客模块化的整体设计如图:
Android项目组件化开发文集2. 美团猫眼电影android模块化实战--可能是最详细的模块化实战
这篇详尽地记述了猫眼项目的模块化整个过程,并没有完全照搬网络上的做法,而是分析对比,采用更适合自己项目的方法。
关键设计如图:
Android项目组件化开发文集 Android项目组件化开发文集文章主要为了解决项目代码庞大之后,编译成本不断增加,并且代码耦合度增高之后,维护代码的成本也越发增大,这两大问题。
此文主要介绍了ARouter框架主要功能介绍、典型应用、快速接入的方法、框架上详细分析,以及现有项目改造实践,框架如下图:
Android项目组件化开发文集
这几篇项目实践的文章对于要做项目组件化的同学有很大的参考价值。