为什么不使用实时打包服务器进行生产?反应本机

Why not use a live packaging server for production? React Native

为什么不使用实时打包服务器进行生产而不是制作静态包?让它上线不是很有好处吗,因为您可以随时更改它而无需重新提交应用程序?当然,缺点是你不能离线访问它,但为什么不缓存一个包并只在可用时获取新的来解决呢?

可以从服务器加载 javascript 包,就像您描述的那样。当你说 "why not use..." 时,我不确定你指的是什么来源,但我想这不是推荐给所有人的原因是它不会像你想象的那么微不足道:

  • 如何缓存包?
  • 包下载失败会怎样?
  • 如果本机可执行文件由于某些本机依赖项已更改而与加载的脚本代码不兼容怎么办?
  • 您如何处理将新脚本热加载到已经 运行 的应用程序?

关键是所有这些问题都是可以解决的,但它们并不是开箱即用的,所以你需要构建基础设施来实现它。还有一个名为 AppHub 的产品(显然尚未推出),承诺为您完成这一切。

另一个令人信服的原因是 Apple 的应用商店审查政策。苹果最近明确允许应用程序下载和执行脚本,规定如下(see section 3.3.2)

provided that such scripts and code do not change the primary purpose of the Application by providing features or functionality that are inconsistent with the intended and advertised purpose of the Application as submitted to the App Store.

然而,在许多开发者中,对于 Apple 是否会继续允许这一点存在相当大的不确定性和怀疑,因为这与他们之前的审查政策截然相反。