简单聊聊Android组件化

2018-01-13 11:03:42来源:https://juejin.im/post/5a30ed3ef265da43085e05a6作者:稀土掘金人点击

分享

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


几个问题:
什么是组件化
组件化怎么用
是不是能提高开发速度
组件化会碰到的一些问题
一.什么是组件化
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 组件化开发详解


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

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


这里总结一下:

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,这是个很少吹水,有人解决问题的群.


最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台