关于ReactNative多分包的调研记录
Posted TaoLee-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于ReactNative多分包的调研记录相关的知识,希望对你有一定的参考价值。
之前的调研内容,整理一下保存在csdn.
1是否有必要多分包
github的讨论 https://github.com/facebook/react-native/issues/5399#issuecomment-173058746
好处:
- 避免执行大量JS代码带来的性能瓶颈
- 减少更新时的流量消耗
- 业务分离,按需加载,实现webBundle,即用即载入
- 优化载入时间,提高用户体验
- 解开依赖关系,提高开发效率
2国内几家公司的多分包方案及现状
- QQ音乐 http://geek.csdn.net/news/detail/122668 2016-11-16 15:26
- 58 http://geek.csdn.net/news/detail/105028 2016-11-09 16:21
- 58 https://mp.weixin.qq.com/s/GX3NcTaeUWtPf5JEL7Xlmw 2017-11-24
- 携程http://geek.csdn.net/news/detail/114216 2016-11-09 16:21
- 携程 目前已不更新 https://github.com/ctripcorp/moles-packer 一年前
- Qunar首屏加载速度优化 https://505779.kuaizhan.com/2/90/p40090364106e4c 2017 1-20
3 Facebook 对于打包的优化 unbundle prepack
国外暂无拆包需求?
Prepack 目前在ReactNative包已移除 https://github.com/facebook/prepack
对于官方unbundle 普遍看低 分包太多,io加载消耗大。部分开发者以此为基础优化,减少分包。
4主流方案
- 侵入RN代码,修改打包流程,使得打出来的包就是基础+业务包,如QQ音乐
- 在RN打包的基础上,实现新的打包方案,如携程 moles-Packer
- Patch方案,打包流程不变,生成基础包后,根据diff来生成每个业务不同的patch包
热更新方案
https://github.com/Microsoft/react-native-code-push
https://github.com/reactnativecn/react-native-pushy
以上是关于关于ReactNative多分包的调研记录的主要内容,如果未能解决你的问题,请参考以下文章