Android组件化开发之一:为什么要进行组件化开发

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情

组件化开发系列文章
1. Android组件化开发之一:为什么要进行组件化开发
2. Android组件化开发之二:组件化架构
3. Android组件化开发之三:组件化开发手册
4. Android组件化开发之四:组件化填坑之旅

5. Android组件化开发之五:组件化开发实战Demo

现状

 

随着APP业务的不断增加,版本不断迭代,APP越来越臃肿,随之而来的问题也逐步呈现出来;

问题1、APP中业务代码的增量叠加,而且各种业务代码混合在一个模块里面,开发人员在开发、调测过程中势必会带来效率上的影响;比如定位一个A业务的问题,可能需要在十个业务代码混合的模块里面寻找和跳转。

 

问题2、工程师需要了解各个业务的功能,避免代码的改动而影响其它的业务功能,势必无形中增加了项目维护的成本。

 

问题3、开发和调测一个业务功能的时候,需要整体编译APP,由于代码量越大,编译速度会相应地变慢,导致一个简单功能的的修改可能就要花费几分钟的时间编译整个APP,极大地影响开发效率。

 

问题4、内部项目没有一个统一的快速开发框架,每个项目采用的技术实现方式都不一样,每个开发人员的编码风格也不一致,导致每开发一个新项目都要重新编码、重复造轮子,而且也造成了开发人员在项目之间的流动困难。

 

问题5、有一些内部项目可以共用的功能模块,同样混杂于各个app工程里面,这部分内容实际上可以考虑抽取出来,封装成独立的公用组件,供内部各个项目使用。

 

下图是一个典型的APP结构图,我们不妨对照下自己的APP工程看看:

 

 

 

目标

 

我们针对上述问题现状进行有针对性地改造。

我们考虑采取以下几种方式来实现:

 

解决方案1:组件化

针对问题1、问题2、问题3,我们可以考虑以组件化的形式来解决。

组件化的目标是要告别APP的臃肿,APP的业务迭代不应该以牺牲APP的臃肿为代价。

各个业务组件相对独立,业务组件在组件模式下可以独立运行,自成一个APP,而在集成模式下可以作为一个被依赖的aar库文件存在,集成进一个完整的APP当中;

 

解决方案2:公用组件(含快速开发框架)

针对问题4、问题5,我们考虑开发一套适合于内部移动端快速迭代开发使用的框架。

快速开发框架可以细化为不同的部分,包括android UI、网络请求、数据库持久化、图片处理、View、工具类、sdk、内部统一风格组件等;

快读开发框架包括但不限于通用功能,如果是部门内部项目中通用的功能,也可以独立出来成为一个通用的库存在。

 

我们期望的一个优秀的APP结构是下面这样的:

APP拆分成三大块内容:

一个是APP壳工程,提供组装各个业务组件的功能,以及一些初始化的操作;

一个是业务组件工程,每一个具体的业务放在单独的业务组件中;

一个是公用组件工程,可以提供给本项目各个业务组件使用,也可以提供给其它项目使用;

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值