为什么我应该/不应该升级到本机0.60.0?

时间:2019-07-13 13:23:43

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

当前,react-native已发布了0.60.0版,并且进行了重大更改,但在此版本中添加了许多本机支持。

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

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

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

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

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

2 个答案:

答案 0 :(得分:5)

以下是具体的版本时间表,将通过权衡使您的应用受益。

v0.59.x

  • Android 64位,对于Play商店发布是必需的。
  • 反应钩子
  • 新的android javascript核心引擎,使您的应用更流畅。

v0.60.x

  • 默认情况下,CocoaPods更易于集成第三方库,尤其是本机模块!
  • AndroidX,这将破坏第三方库(甚至是更新的第三方库,需要时间对其进行更新)。
  • WebviewGeolocation被删除。
  • 爱马仕javascript引擎! 快速启动

建议

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

  1. 显然,用 0.49 进行的项目是最难升级的项目,因为有时您需要派生未维护的库并自行修复。
  2. 带有 0.57
  3. 项目将更容易升级到 0.59 ,因为结构基本上没有太大变化。您可以参考https://github.com/react-native-community/rn-diff-purge

答案 1 :(得分:2)

我不确定该如何反应,但是我不得不使用android SDK,.net core,angular(JS),Xamarin和Cordova处理类似的情况,我认为这可以让我做出有根据的猜测,但是,请注意,这是一种通用方法。

所以;

升级

专家

  • 符合新功能,重要补丁,安全补丁等
  • 使用最新的硬件
  • 小的迁移块(假设您跟上了更新的步伐)

缺点

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

不升级

专家

  • 现在节省时间
  • 保持与旧硬件的兼容性(目前)
  • 您当前的版本经过了良好的测试,毫不奇怪

缺点

  • 将来迁移将花费更多时间
  • 缺少新功能
  • 缺少稳定性,安全性改进等。

特定于预发行版

在您的情况下,由于您正在处理1.0之前的版本?您是典型的早期适配器。这意味着您了解所涉及的风险,并且知道更新频率很高。因此,我建议您进行更新,但请对其进行良好的测试。

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