2018年7月4日 Lorenzo Sciandra React Native 主要维护者&开发者 在Drivetribe
重要:不支持mbox了,导出方式也有变化,许多常用组件无法使用,不建议正式项目直接使用,
期待已久的0.56版React Native现已推出🎉。此博客文章重点介绍了此新版本中引入的一些更改。我们也想借此机会解释自3月份以来让我们忙碌的原因。
重大变化的困境,或“何时释放?”(关于4,5月没有新版本发布解释)
对React Native的所有的开发过程都会在投稿指南上整合并解释。该项目由许多不同的工具组成,需要协调和持续的支持,以确保一切正常运行。加入这个充满活力的开源社区有助于为项目做出贡献,同时您将了解到这一切的令人费解的规模(超级大)。
随着React Native深入人心,所有重大改变都必须非常谨慎地进行,但这个过程并不像我们想的那样顺利。我们作出决定跳过4月和5月的版本发布,允许核心团队集成并测试一组新的重大变化。沿途使用了专门的社区沟通渠道,以确保2018年6月(0.56.0)的发布尽可能被那些耐心等待稳定释放的人无忧的采用。
是0.56.0完美的?不,就像每一块软件一样:但是我们在“等待更多稳定”与“测试导致成功结果以便我们能够推进”之间的权衡,以便我们准备好发布它。此外,我们都知道的 一个 小 问题,未在0.56.0最终释放版本中解决。大多数开发人员应该能没有问题的升级到0.56.0版本。对于那些被上述问题阻止的人,我们希望在讨论中见到您,我们期待着与您一起解决这些问题。
你可能会认为0.56.0这是一个更稳定的框架的基本构建块:它可能需要一到两周的广泛采用以后,所有边缘才能打磨好。但这将导致更好的2018年7月(0.57.0)发布。
在本节的最后感谢所有共有818次提交(!)的67位贡献者,这将有助于使您的应用程序更加出色👏。
现在,没有更多的事了...
重大变化
Babel 7
您可能知道,允许我们所有人使用JavaScript的最新和最强大功能的转换工具Babel,很快就会转向v7。由于这个新版本带来了一些重要的变化,我们认为现在是升级的好时间,让 Metro 来充分利用其改进。
如果您发现自己在升级时遇到问题,请参阅与之相关的文档部分。
现代化Android支持
在Android上,周围的大部分工具都发生了变化。我们已经更新到Gradle 3.5,Android SDK 26,Fresco到1.9.0,OkHttp到3.10.0甚至NDK API目标到API 16。这些更改应该没有问题,并导致更快的构建。更重要的是,它将帮助开发人员遵守下个月生效的新Play商店要求。
与此相关,我们特别感谢Dulmandakh提交的许多PR,以使其成为可能👏。
还有一些步骤需要在这个方向上采取,您可以按照未来的计划和讨论更新专用问题中的Android支持(以及JSC的一个侧面)。
新节点,Xcode,React和Flow - 哦,我的!
节点8现在是React Native的标准。它实际上已经在测试中,但是当节点6进入维护模式时,我们已经将双脚向前推进了。React也更新到16.4,这带来了大量的修复。
我们正在放弃对iOS 8的支持,使iOS 9成为可以定位的最古老的iOS版本。我们不认为这是一个问题,因为任何可以运行iOS 8的设备都可以升级到iOS 9.这一变化使我们能够删除很少使用的代码,这些代码为运行iOS 8的旧设备实现了变通方法。
持续集成工具链已更新为使用Xcode 9.4,确保所有iOS测试都在Apple提供的最新开发人员工具上运行。
我们已升级到许多开发人员欣赏的Flow 0.75以使用新的错误格式。我们还为更多组件创建了类型。如果您尚未在项目中强制执行静态类型,请考虑使用Flow在编码时识别问题,而不是在运行时。
还有很多其他的东西......
例如,YellowBox被一个新的实现所取代,这使得调试变得更好。
有关完整的发行说明,请参阅此处的完整更新日志。并记住要密切关注升级指南,以避免问题转移到这个新版本。
最后一点:从本周开始,React Native核心团队将恢复召开月度会议。我们会确保让每个人都了解所涵盖的内容,并确保为将来的会议保留您的反馈意见。
大家快乐编码!
Lorenzo,Ryan和整个React Native核心团队
PS:一如既往,我们想提醒大家React Native仍然在进行0.x版本化,因为还有很多变化 - 所以请记住升级时可能会有些事情可能仍然崩溃或被破坏。在问题和提交PR时要互相帮助 - 并且记得遵循强制执行的CoC:屏幕的另一端总是有人。
网友评论