Android 项目开发之组件化知多少?

栏目: IOS · Android · 发布时间: 6年前

内容简介:一. 前言模块化和组件化的概念已经看的很多,也都不是新的概念了,很多项目也已经使用了模块化和组件化,本文对现有的模块化与组件化分析得比较深入的文章进行整理。

Android 项目开发之组件化知多少?

一. 前言

模块化和组件化的概念已经看的很多,也都不是新的概念了,很多项目也已经使用了模块化和组件化,本文对现有的模块化与组件化分析得比较深入的文章进行整理。

当项目做得业务需求和层级增多,原有的基础层级已经不能满足不断增加的业务需求,代码也变得越来越臃肿。组件化将代码解耦分层、分而治之。

大致上来说,组件化是指单一的功能组件。目的就是基于可重用的,将一个大系统拆分成一个个独立的组件。而模块指的是独立的业务模块,按照业务对项目进行拆分。相对于组件来说,粒度更大。

下面就推荐几篇大佬们的文章助你弄明白模块化、组件化及插件化的概念,还有如何应用到项目开发上。

Android 项目开发之组件化知多少?

二. 文章系列

Android彻底组件化方案实践 (注:我是可以点击的哦)

文章对模块化、组件化与插件化概念进行讨论,形象化地让人记住组件化与插件化的区别,进而详细表述如何进行组件化及组件化的步骤。

Android 项目开发之组件化知多少?

2.  Android彻底组件化源码分析

文章主要通过对“得到app”的项目代码进行组件化拆分,设计一套完整的组件化方案。

Android 项目开发之组件化知多少?

3.  App组件化与业务拆分那些事

文章讨论了为什么要组件化、模块化,从业务的角度,讲解了为什么要拆分App业务,如何拆分,以及优点等等。

下图为组件示意:

Android 项目开发之组件化知多少?

下图为模块示意

Android 项目开发之组件化知多少?

可以看出,一个工程由多个模块组成,每个模块由多个组件构成。但有时候,两者的界限还是比较模糊。

4.  浅谈Android组件化

这篇是采访得到APP的Android 技术专家张明庆老师,了解其组件化背后的故事,是对采访稿的整理。

文中也讨论了模块化、组件化和插件化的区别,以及如何取舍插件化和组件化,及组件化后的成果。具体如何实现组件化,可参考文章系列的一和二。

5.  Android 模块化探索与实践

这篇文章对于模块化的概念和分层设计,以安居客 Android 端的模块化设计方案为例,给予了深入的分析和阐述。

Android 项目开发之组件化知多少?

另外,对模块间通讯框架也给出了设计方案,如下图:

Android 项目开发之组件化知多少?

是不是已经看累了?马上就可以动手实践了!

Android 项目开发之组件化知多少?

三. 项目实践系列

1.  安居客 Android 项目架构演进

此文以安居客公司项目的开发过程为例,阐述了组件化模块化开发的必要性,与文章系列5相对应。

安居客模块化的整体设计如图:

Android 项目开发之组件化知多少?

2.  美团猫眼电影android模块化实战总结

这篇详尽地记述了猫眼项目的模块化整个过程,并没有完全照搬网络上的做法,而是分析对比,采用更适合自己项目的方法。

关键设计如图:

Android 项目开发之组件化知多少?

路由架构:

Android 项目开发之组件化知多少?

希望这篇组件化开发文集对要做项目组件化的同学有帮助!

正文到此结束了~

Android 项目开发之组件化知多少?

等等,先别走! 戳我看详情 参与活动可以培养自己的好习惯,还能拿到「码个蛋」IP系列专属奖品,速度要快...

今日问题:

聊聊在组件化开发路上遇到过的坑?

留言格式:

打卡 x 天,答:xxx。

最后告诉你一个小技巧:

只需3步,你将不会错过任何一篇文章!

Android 项目开发之组件化知多少?

Android 项目开发之组件化知多少?


以上所述就是小编给大家介绍的《Android 项目开发之组件化知多少?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JavaScript

JavaScript

David Flanagan / O'Reilly Media / 2011-5-13 / GBP 39.99

The book is a programmer's guide and comprehensive reference to the core JavaScript language and to the client-side JavaScript APIs defined by web browsers. The sixth edition covers HTML 5 and ECMA......一起来看看 《JavaScript》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码