React Native(简称RN)是Facebook于2015年4月开源的移动跨平台开发框架,是Facebook在早先开源的React前端框架在原生移动平台的衍生产物,目前支持iOS和Android两大原生移动平台。前端
目前,通过数百名贡献者数月的努力,React Native 迎来了 0.60 版本的发布。此版本完成了 Android 和 iOS 平台的一些重大迁移,许多问题也获得解决。node
可访问性 API 有许多改进,例如 announceForAccessibility,以及对角色、动做支持、标志等的改进。可访问性是一门复杂的科学,但咱们但愿这些改进更靠近 A11Y。能够查看 React Native Open Source Update June 2019,了解有关这些更改的更多详细信息。react
这次版本,React Native 的启动页面也已经更新!这个新的启动页面将以更加友好、引人入胜的方式欢迎用户进入 React Native 生态系统,效果以下图所示。ios
AndroidX 是 Android 生态系统向前迈出的重要一步,旧的支持库已被弃用。React Native 0.60 已迁移到了 AndroidX。这是一个破坏性变动,您的 native 代码和依赖库也须要迁移。git
虽然须要迁移本身的 native 代码,但 jetifier
工具能够用于来修补 node_modules。库维护人员须要升级,但这个工具提供了一个临时解决方案,让维护人员有时间来发布 AndroidX 版本。所以,若是您发现与 AndroidX 迁移相关的错误,请试一试这个工具。github
CocoaPods 如今是 React Native 的 iOS 工程的一部分,说明参考。请确保从如今开始使用 xcworkspace 文件打开iOS平台代码(提示:在根项目目录中尝试 xed ios)。此外,内部软件包的 podspecs 已更改,使其与 Xcode 项目兼容,这将有助于故障排除和调试。做为升级到 0.60 的一部分,指望对您的 Podfile 进行一些直接的更改,以引入这个使人兴奋的支持选项。请注意,咱们了解 use_frameworks!
的兼容性问题,咱们正在考虑变通方法和将来补丁的问题。web
WebView 和 NetInfo 之前被提取到单独的 repo 中,在 0.60 中咱们已经完成了将它们从 React Native 的 repo 中迁移出来。此外,为响应社区对新 App Store 策略的反馈,Geolocation 也被抽取出来。若是还须要使用这些库,请经过向 react-native-webview,@react-native-community/netinfo 和 @react-native-community/geolocation 添加依赖项来完成迁移。若是您想要自动化解决方案,或者考虑使用 rn-upgrade-deprecated-modules。react-native
React Native CLI 的团队已经对称为 autolinking 的 native module 连接进行了重大改进!大多数场景再也不须要使用 react-native link
。与此同时,该团队对整个连接过程进行了完全改革。确保使用 react-native unlink
来取消预先存在的依赖关系,如上面的文档中所述。前端框架
@lucasbento,@pvinis,@kelset和 @watadarkstar 构建了一个名为 Upgrade Helper 的强大工具,使升级过程更加简单。它能够帮助 React Native 用户使用 brownfield app 或复杂的自定义设置来查看版本之间的变化,详情请查看更新的升级文档。
参考资料:https://github.com/react-nati...app