【问题标题】:Why should/should not I upgrade to react-native 0.60.0?为什么我应该/不应该升级到 react-native 0.60.0?
【发布时间】:2019-09-03 15:42:40
【问题描述】:

目前,react-native 已经发布了 0.60.0 版本,它有一些重大变化,但他们在这个版本中添加了许多原生支持。

我目前正在处理我的 3 个项目。

第一个项目信息
- 反应:16.0.0-beta.5 => 16.0.0-beta.5
- 反应原生:0.49.0 => 0.49.0
该项目包含许多第三方库,其中一些不是由所有者维护的事件。

第二个项目信息
- 反应:16.6.3 => 16.6.3
- 反应原生:0.57.8 => 0.57.8
该项目包含 12 个第三方库。

第三个项目信息
- 反应:16.8.5 => 16.8.5
- 反应原生:0.59.2 => 0.59.2
该项目包含 7 个第三方库。

目前,所有三个项目都在调试模式下工作(未尝试发布模式)。
现在我想从上面提到的项目中知道我应该将哪个迁移到 react-native 0.60.0(为什么)?
如果我不迁移到 react-native 0.60.0 怎么办?
如果我迁移到 react-native 0.60.0 会有哪些挑战?
请指导我。
欢迎提出建议。

【问题讨论】:

标签: reactjs react-native react-native-android react-native-ios


【解决方案1】:

以下是具体的版本时间线,可以通过权衡取舍让您的应用受益。

v0.59.x

  • Android 64bit,Play 商店发布所必需的。
  • 反应钩子
  • 新的安卓javascript核心引擎,让你的应用更流畅。

v0.60.x

  • 默认使用 CocoaPods,更容易集成第三方库,尤其是原生模块!
  • AndroidX,这会破坏第 3 方库(甚至是更新的库,需要时间来更新)。
  • WebviewGeolocation 已删除。
  • 爱马仕javascript引擎! 启动速度更快

建议

在我看来,尝试升级到 0.59 是最安全的最佳选择,因为没有它,您将无法在要求您的应用兼容 64 位的 Play 商店上发布您的应用。 0.60 可以等待,因为许多库(甚至是更新的库!)仍然不支持 0.60

  1. 显然 0.49 项目是最难升级的项目,因为有时您需要 fork 未维护的库并自己修复它。
  2. 0.57 的项目升级到 0.59 会容易得多,因为结构主要没有太大变化。可以参考https://github.com/react-native-community/rn-diff-purge

【讨论】:

    【解决方案2】:

    我不确定反应,但我不得不处理与 android SDK、.net 核心、角度 (JS)、Xamarin 和 Cordova 类似的情况,我认为这可以让我做出有根据的猜测,但是,请注意它是一种通用方法。

    所以;

    升级

    专业人士

    • 符合新功能、重大修复、安全修复等
    • 使用最新硬件进行更新
    • 小迁移块(假设您跟上更新步伐)

    缺点

    • 可能会失去旧硬件上的硬件兼容性
    • 需要时间来正确测试确切的行为(测试自动化有帮助)

    不升级

    专业人士

    • 现在节省时间
    • 保持与旧硬件的兼容性(目前)
    • 您当前的版本已经过很好的测试,没有意外

    缺点

    • 将来迁移需要更多时间
    • 错过新功能
    • 缺少稳定性、安全性改进等。

    特定于预发布

    在您的情况下,因为您处理的是 1.0 之前的版本?你是典型的早期适应者。这意味着您了解所涉及的风险并了解高更新频率。因此,我建议更新,但要好好测试一下。

    ...作为一般方法;-)

    【讨论】:

    • 谢谢@Stefan 这将有助于做出决定。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    • 1970-01-01
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多