metro-code-split
metro-code-split copied to clipboard
这个分chunk加载和ramBundle有啥区别吗
- 我个人的理解是
- RAM Bundles 优化的是“执行效率” 本质native端做事情 整个流程看起来像是 热更新下载一个完整的RAM Bundles,“执行”首屏代码,按需“执行”每个模块
- Dynamic Imports 是针对 非RAM Bundles 就是一种纯Web思想的解决方案 优化的是主包的体积 整个流程看起来像是 热更新下载首屏代码 用户需要时按需下载其他模块
- 不管是在方案还是使用场景 都没有什么共同点 完全就是2个东西,唯一相同可能就只有目的都是优化性能
- 目前集团内部 没有计划支持RAM
- 研过ios RAM Bundles 优化数据并没有达到收益预期
- 我们有计划使用 Hermes JS Engine 而无法使用RAM包功能
- 现阶段平台方和native 需要针对 RAM Bundles 热更新和缓存策略给予支持
@zq0904 metro-code-split 基本都是JS端做的事情,那么是否可以支持0.59~0.63的RN版本?
@zq0904 Metro-code-split 基本都是JS端做的事情,那是否可以支持0.59~0.63的RN版本?
-
为了使开源项目清晰简单易用,正如你看到的开源项目的Dynamic Imports部分都是js在做事情,但事实上native双端是可以在js上下文中直接注入代码来实现类似web中script标签的标准化(我们内部也是这么实现的)。
-
关于版本的支持 主要依赖metro的版本 而非react-native,你可以看下readme 中 与Metro版本的兼容性 部分,对于低版本metro若不兼容 尚无计划支持。