当前位置:网站首页>热修复、插件化、组件化的区别
热修复、插件化、组件化的区别
2022-08-06 05:20:00 【安新小子】
今天这篇比较简单,但是很重要,主要来说热修复、插件化、组件化这三种技术的区别,只有知道了每种技术的区别在看源码的时候,才知道为什么实现细节会有所不同。
插件化和热修复的区别
插件化的目的是为了解耦业务模块,将一个应用里面不同的业务模块都做成一个apk,当用户点击对应的业务模块的时候才去动态加载对应的apk,而没有apk又能够独立运行
这样做的好处是:业务模块解耦、可以并行开发,按需加载内存占用更低。
比如今日头条APP,开始的时候就一个APP,后期把里面的汽车模块抽出来做成「懂车帝」,视频模块抽出来做成「火山小视频」(具体头条是不是使用的插件化我没研究过,这里只是举栗子说明),插件化技术可以很方便的完成这种业务模块的拆分
热修复的目的是为了解决线上的bug或者小功能的更新,做到不用为了解决小bug或者小功能而频繁发布版本。
这样做的好处就是:修复bug和更新小功能做到用户无感知、方便快捷。
插件化和热修复的相同点
它们都是使用动态加载技术来完成,插件化中宿主apk使用动态加载技术加载插件apk,热修复中APP使用动态加载技术加载修复补丁。
所以对当我们去分析一些插件化和热修复的开源框架的源码的时候,比如滴滴的VirtualAPK,微信的Tinker,虽然都是使用动态加载技术,但是由于目的不同,它们的一些实现方式也会不同,从使用场景的角度去理解这些不同就会豁然开朗。
关于组件化
除了插件化,我们还经常听说过一种技术是组件化,其实组件化不是一种技术,而是一种开发模式。
组件化的意思是,当项目越来越大,每个模块之间耦合性越来越高的时候,把项目进行拆分,按照一个一个业务模块进行拆分,然后把每个模块使用到的共同的功能抽取出来做成一个Lib去共同依赖,每个业务模块互不依赖、互相解耦,在开发的时候可以安排不同的开发人员去开发不同的模块,开发完毕以后单模块测试,最后整合到一起总体测试上线。
分析整个流程其实组件化只是一种开发模式,不是一种开发技术,这是它和插件化的最主要的区别。
最后欢迎关注我的公众号,谢谢。

边栏推荐
- 【STM32】【HAL库】【实用制作】遥控关灯
- [MM32] eMiniBoard's PWM drive passive buzzer + ADC to adjust LED brightness reference routine (on)
- STM32教程
- 深度学习——入门术语
- 数据机房中智能小母线与列头柜方案的对比分析-Susie 周
- 文献阅读:图像分割技术研究综述
- Application of Ankerui Intelligent Lighting Control System in Metro Lighting-Susie Week
- 【STM32】【HAL库】【实用制作】数控收音机(硬件设计)
- 动手学深度学习PyTorch(三):softmax回归
- 文献阅读:基于弱监督学习的医学图像分割方法研究
猜你喜欢

Acrel-EIoT能源物联网云平台助力电力物联网数据服务-Susie 周

Application of Ankerui Substation Integrated Automation System in Substation-Susie Week

FCN论文与实现代码详解

【基础知识】SPI通信协议

【STM32F4系列】【HAL库】【自制库】W25QXX FLASH驱动

论文阅读:VectorNet: Encoding HD Maps and Agent Dynamics fromVectorized Representation

机器学习之聚类——谱聚类简介及其对特殊形状区域数据的聚类

配电室智能监控系统设计及实现分析-Susie 周

使用 Beautiful Soup

指定变量和函数保存位置
随机推荐
浅谈校园能耗监测管理平台应用意义分析-Susie 周
【MM32】PWM 正弦波调制音频 - 定时器之 FDS 配置
DRIVER_OVERRAN_STACK_BUFFER: Sony NW-A45插入PC必蓝屏问题(Bus Hound相关)
Application of Ankerui Intelligent Lighting Control System in Metro Lighting-Susie Week
【服务器相关】
【STM32】【HAL库】【实用制作】遥控关灯
马士兵 网络安全工程师
深度学习框架拾遗:【Pytorch(二)】——Pytorch的层次结构
【STM32】【HAL库】【实用制作】数控收音机(软件设计)
【STM32F4系列】【HAL库】【自制库】WS2812控制(软件部分)
深度学习框架拾遗:【Pytorch(七)】——Pytorch动态计算图
安科瑞变电站综合自动化系统在变电站的应用-Susie 周
浅谈数据中心供配电设计应用以及监控产品选型-Susie 周
深度学习框架拾遗:【Pytorch(十)】——Pytorch高阶API
Design and Implementation Analysis of Intelligent Monitoring System in Power Distribution Room-Susie Zhou
合并两个排序的链表
题解 | #链表内指定区间反转#
【STM32】【HAL库】【实用制作】数控收音机(硬件设计)
VTK处理网格数据
安科瑞预付费平台关于电改政策的设计与应用-Susie 周