Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

这个分chunk加载和ramBundle有啥区别吗 #1

Open
hf529270451 opened this issue Jul 13, 2021 · 3 comments
Open

这个分chunk加载和ramBundle有啥区别吗 #1

hf529270451 opened this issue Jul 13, 2021 · 3 comments

Comments

@hf529270451
Copy link

No description provided.

@zq0904
Copy link
Collaborator

zq0904 commented Jul 14, 2021

  1. 我个人的理解是
  • RAM Bundles 优化的是“执行效率” 本质native端做事情 整个流程看起来像是 热更新下载一个完整的RAM Bundles,“执行”首屏代码,按需“执行”每个模块
  • Dynamic Imports 是针对 非RAM Bundles 就是一种纯Web思想的解决方案 优化的是主包的体积 整个流程看起来像是 热更新下载首屏代码 用户需要时按需下载其他模块
  • 不管是在方案还是使用场景 都没有什么共同点 完全就是2个东西,唯一相同可能就只有目的都是优化性能
  1. 目前集团内部 没有计划支持RAM
  • 研过ios RAM Bundles 优化数据并没有达到收益预期
  • 我们有计划使用 Hermes JS Engine 而无法使用RAM包功能
  • 现阶段平台方和native 需要针对 RAM Bundles 热更新和缓存策略给予支持

@mattlin
Copy link

mattlin commented Oct 11, 2021

@zq0904 metro-code-split 基本都是JS端做的事情,那么是否可以支持0.59~0.63的RN版本?

@zq0904
Copy link
Collaborator

zq0904 commented Oct 11, 2021

@zq0904 Metro-code-split 基本都是JS端做的事情,那是否可以支持0.59~0.63的RN版本?

  1. 为了使开源项目清晰简单易用,正如你看到的开源项目的Dynamic Imports部分都是js在做事情,但事实上native双端是可以在js上下文中直接注入代码来实现类似web中script标签的标准化(我们内部也是这么实现的)。

  2. 关于版本的支持 主要依赖metro的版本 而非react-native,你可以看下readme 中 与Metro版本的兼容性 部分,对于低版本metro若不兼容 尚无计划支持。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants