博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单聊聊Android组件化
阅读量:7112 次
发布时间:2019-06-28

本文共 1403 字,大约阅读时间需要 4 分钟。

前言:

前段时间用组件化开发了一个项目(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的配置,在这就不说,这类文章太多了

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

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

这里总结一下:

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库封装成熟后,可以做成私有的在线依赖库.

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

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

目前网络层()和base层()封装的比较完善.其他的会后续补上

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

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

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

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

转载地址:http://gnmhl.baihongyu.com/

你可能感兴趣的文章
python list排序
查看>>
我的友情链接
查看>>
历史的思考
查看>>
python 输出指定年月份的日历!
查看>>
Redis详解(一)
查看>>
LAMP详解(一)
查看>>
rhel6 无人值守安装(dhcp+tftp+ftp+ks)
查看>>
linux集群之LVS DR模型简单实现
查看>>
Android天天数钱游戏源码
查看>>
跪求解决
查看>>
如何使用Powershell脚本监控Exchange2010(三) Archive邮箱容量和使用情况的发布
查看>>
zabbix 网络监控 (一) -- lamp 搭建zabbix2.0.5
查看>>
Ubuntu上使用Webmin进行Linux的远程管理
查看>>
Shell脚本的输入参数处理
查看>>
lduan server 2012 DHCP管理 上(三十四)
查看>>
Simple Mail Transfer Protocol
查看>>
StringBuilder的实现与技巧
查看>>
人生感悟 --无题
查看>>
Android中InstanceState()使用详解
查看>>
通过存储过程造测试数据
查看>>