android 简单聊聊组件化

前言:

前段时间用组件化开发了一个项目(2个人,90多个页面,4个模块,差不多20天写完),分享下心得.

几个问题:

  1. 什么是组件化
  2. 组件化怎么用
  3. 是不是能提高开发速度
  4. 组件化会碰到的一些问题
一.什么是组件化
1.从业务上来看

比如:电商app

1.进店(登陆注册)
2.看商品(商品展示)
3.选商品(购物车)
4.购物发票,电话预定(订单信息)
5.给钱(支付)
复制代码

一个业务对应一个组件.

不管哪个业务逻辑发生变化.只需要修改其中一个就行.

有人会说,我不用组件化也是这样啊.

那我这样说,比如把上面5个业务看成5个文案.

如果写成一个文案.(没有组件化).改其中一个业务的文案时,是不是需要从整个文案里去找.

如果每个业务的文案,都单独写成一份.最后放到一起.是不是修改起来就简单了.

组件化开发是把文案夹在一起.普通开发是把文案订在一起.

2.从开发的角度

来张图比较直观:

1.把第三方库分类进行封装.做成基础lib库

2.把每个组件都需要的,通用的lib进行整合 做成framework,这个framework其实也是一个lib

3.每个组件在framework的基础上进行开发.

4.各个组件开发完成后将所有组件整合成app.(可以弄一个空壳module,也可以把某一个module当主module)

觉得的很复杂,很难理解吗?把图换一下

同样的道理放在安卓系统结构上也适用.

二.组件化怎么用:

组件化gradle的配置,在这就不说,这类文章太多了

传送门:Android 组件化开发详解

三. 是不是能提高开发速度

很多人觉得,没必要弄,这么多配置啥的,多浪费时间.多麻烦

这里总结一下:
  • 当你要开发的app页面数超过50,业务模块大于2个时,最好考虑用组件化开发.即使你是一个人

  • 有了第一次,第二次就快了.并且对于架构和业务的理解会提升.

  • 分锅清楚

  • 不用担心别人写的代码影响你的心情.

  • 维护容易.某个模块写的不好,重写也不难

  • 即使一个项目出现:组件一mvc,组件二mvp,组件三mvvm这种情况,也能正常开发,代码不乱.(真这样老大就要祭天了)

  • lib库越来越丰富.开发更简单.新项目直接拿lib或者直接拿某一组件开始开发,省时省力.而不是去copy代码了.

四. 组件化会碰到的一些问题

1.首先,你需要准备几个开发库.在一些开源库的基础上再封装

2.最好不要使用butterknife.虽然最新的配置一下也能用

3.AndroidManifest,都要写好activity注册.不管是debug目录,还是release目录

4.library模式下,不能有applacitonId.会报错

5.一些定制性的操作,放到framework层做处理.而不是写死在lib层.

6.后期当lib库封装成熟后,可以做成私有的在线依赖库.

就这些了,想到什么以后再补充.

最后奉上本人的组件库开源地址:

mvpDemo

目前网络层(lib-network-rx-retrofit)和base层(lib-mvpbase-appcompat)封装的比较完善.其他的会后续补上

具体module例子没什么时间写.主要看看framework和lib吧= =

---------------------------------分割线--------------------------------

您的喜欢与回复是我最大的动力-_-(ps:还不是为了吸粉)

交流群:493180098,这是个很少吹水,有人解决问题的群.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值