组件化,插件化和热更新
来源:互联网 发布:枪械介绍app软件 编辑:程序博客网 时间:2024/06/05 17:28
组件化,插件化和热更新
什么是组件化:
- 为什么要有组件化?
加入一个app工程只有一个组件,随着app业务的壮大模块越来越多,代码量超10万是很正常的,这个时候我们会遇到以下问题:
- 稍微改动一个模块的一点代码都要编译整个工程,耗时耗力
- 公共资源、业务、模块混在一起耦合度太高
- 不方便测试
这样的好处:
* 每个模块可以独立开发编译运行
* 开发单个模块时可以共享资源和工具类
* 可以针对单个模块测试
参考文章链接:[http://blog.csdn.net/guiying712/article/details/55213884 ]
github链接:[https://github.com/llayjun/ModuleProgramming ]
什么是插件化
- 为什么有插件化?
有了组件化,为什么还要用插件化呢?插件化开发总的来说有以下几点好处(不同插件框架不一样):
- 宿主和插件分开编译
- 并发开发
- 动态更新插件
- 按需下载模块
- 方法数或变量数爆棚
主要有这几种插件化模式值得研究
1. 滴滴/VirtualAPK
2. 奇虎360/RePlugin/DroidPlugin
github链接:以DroidPlugin为例[https://github.com/llayjun/PlugProgramming ]
什么是热更新
在用户使用App的时候,不知不觉,这个Bug就被修复了。
主要有这几种热更新值得研究
1. 阿里的Sophix,暂时处于内侧阶段,后期不知道要不要收费
2. 微信的Tinker
博客链接:以Tinker为例:[http://www.jianshu.com/p/b7b7cf40f700 ]
github链接:以Tinker为例:[https://github.com/llayjun/MyTinkerDemo ]
自我理解:
①组件化:
1. 用于项目过大,每次编译时间长
2. 用于团队多个人分工开发不同的模块
②插件化:
3. 用于版本新添加功能
4. 解决方法数超过65536问题
5. 按照需要下载模块,减小项目apk的大小
③热更新:
6. 用于修复已经上线的bug等问题
7. 一般不用于新功能的版本上线
- 组件化,插件化和热更新
- 模块化?组件化?插件化?热更新?热修复?
- android插件化,热修复,热更新。
- 增量更新热修复与插件化
- 基于Dex分包方案---热修复、热更新、插件化
- RN学习1——前奏,app插件化和热更新的探索
- android插件化、组件化、热补丁傻傻分不清
- android:一步步实现插件化与热更新
- 动态加载、插件化、热部署、热修复(更新)知识汇总
- 插件化开发,插件化开发和热修复
- Android实现插件化(热加载)和插件加密
- 热修复、热补丁与插件化
- Android插件化和热修复的区别和联系
- unity3d热更新插件uLua
- Android 插件化和热修复知识梳理
- android热插件,热更新,热修复,模块化
- android热插件,热更新,热修复,模块化
- Android组件化和插件化开发
- 常用正则表达式--邮箱
- Google/LintCode:M-寻找峰值
- JAVA设计模式初探之十四:装饰者模式
- 金蝶取数分析
- lua内存机制分析
- 组件化,插件化和热更新
- Python学习笔记4:一切皆对象,所有对象都是第一类的
- 哈工大ltp,分词,词性标注,命名实体识别技术的特征提取
- linux下 redis的安装、部署
- Python3实现文本中字母的统计
- Socket实现发送Http请求上传文件
- FTP的PORT和PASV的连接方式以及数据连接端口号计算
- docker的简单安装
- Zabbix系列之Zabbix安装搭建及汉化