Android杂识Android开发经验谈Android开发

android-简单聊聊组件化

2017-10-19  本文已影响184人  Jlanglang

转载请标明出处:http://www.jianshu.com/p/7baf6a68982e
本文出自:Jlanglang

前言:

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

几个问题:

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

一.什么是组件化

1.从业务上来看

比如:电商app

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

一个业务对应一个组件.

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

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

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

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

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

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

2.从开发的角度

来张图比较直观:

Paste_Image.png

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

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

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

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

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

Paste_Image.png

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

二.组件化怎么用:

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

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

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

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

这里总结一下:

1.当你要开发的app页面数超过50,业务模块大于2个时,最好考虑用组件化开发.即使你是一个人
2.有了第一次,第二次就快了.并且对于架构和业务的理解会提升.
3.分锅清楚
4.不用担心别人写的代码影响你的心情.
5.维护容易.某个模块写的不好,重写也不难
6.即使一个项目出现:组件一mvc,组件二mvp,组件三mvvm这种情况,也能正常开发,代码不乱.(真这样老大就要祭天了)
7.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,这是个很少吹水,有人解决问题的群.

上一篇下一篇

猜你喜欢

热点阅读