React Native 月报 #2
React Native 月度会议继续进行!本次会议,我们邀请到了 Infinite Red,Chain React(React Native 大会)背后的智囊团。由于这里的大多数人都在 Chain React 上发表演讲,我们将会议推迟了一周。会议的演讲已发布到网上,我鼓励您查看。那么,让我们看看我们的团队在做什么。
团队
在第二次会议上,我们有 9 个团队加入我们
笔记
以下是每个团队的笔记
Airbnb
- 查看 Airbnb 仓库,了解 React Native 相关项目。
Callstack
- Mike Grabowski 一如既往地管理 React Native 的月度发布,包括推出了一些 beta 版本。特别是,正在努力将 v0.43.5 版本发布到 npm,因为它解锁了 Windows 用户!
- 在 Haul 上正在进行缓慢但持续的工作。有一个 pull request 添加了 HMR,并且其他改进也已发布。最近,一些行业领导者开始采用它。可能计划开始在该领域进行全职付费工作。
- 来自 Jest 团队的 Michał Pierzchała 本月加入了 Callstack。他将帮助维护 Haul,并可能参与 Metro Bundler 和 Jest 的工作。
- Satyajit Sahoo 现在加入了我们,太棒了!
- 我们的 OSS 部门即将推出一系列很酷的东西。特别是,正在努力将 Material Palette API 引入 React Native。计划最终发布我们的原生 iOS 工具包,旨在提供与原生组件 1:1 的外观和感觉。
Expo
- 最近推出了 Native Directory,以帮助发现和评估 React Native 生态系统中的库。问题:库太多,难以测试,需要手动应用启发式方法,并且哪些是您应该使用的最佳库并不立即显而易见。也很难知道某些东西是否与 CRNA/Expo 兼容。因此,Native Directory 尝试解决这些问题。查看并添加您的库到其中。库列表位于此处。这只是我们的第一次尝试,我们希望它由社区拥有和运营,而不仅仅是 Expo 团队。因此,如果您认为这有价值并想使其变得更好,请参与进来!
- 在 Snack 中添加了对安装 npm 包的初始支持,使用了 Expo SDK 19。如果您在使用过程中遇到任何问题,请告知我们,我们仍在努力解决一些错误。与 Native Directory 一起,这应该可以轻松测试仅具有 JS 依赖项或包含在 Expo SDK 中的依赖项的库。尝试一下
- 发布了 Expo SDK19,在各个方面都有许多改进,我们现在正在使用更新后的 Android JSC。
- 正在与 Alexander Kotliarskyi 合作编写文档中的指南,其中包含有关如何改善您的应用程序用户体验的技巧列表。请加入并添加到列表中或帮助编写其中一些内容!
- 继续致力于:音频/视频、相机、手势(与 Software Mansion、
react-native-gesture-handler
合作)、GL 相机集成,并希望在 SDK20(8 月)中首次实现其中一些功能,并在那时对其他功能进行重大改进。我们才刚刚开始在 Expo 客户端中构建用于后台工作的基础设施(地理位置、音频、处理通知等)。 - Adam Miskiewicz 在模仿 react-navigation 中 UINavigationController 的过渡方面取得了一些不错的进展。在 他的推文 中查看其早期版本 - 即将发布。还可以查看他 upstreamed 的
MaskedViewIOS
。如果您有技能和意愿为 Android 实现MaskedView
,那将非常棒!
Facebook
- Facebook 内部正在探索能够将原生 ComponentKit 和 Litho 组件嵌入到 React Native 中。
- 非常欢迎对 React Native 做出贡献!如果您想知道如何贡献,“如何贡献”指南描述了我们的开发过程,并列出了发送您的第一个 pull request 的步骤。还有其他无需编写代码的贡献方式,例如通过 triage issues 或更新文档。
- 在撰写本文时,React Native 有 635 个 未解决的 issues 和 249 个 未解决的 pull requests。这对我们的维护者来说是压倒性的,并且当内部修复问题时,很难确保相关任务得到更新。
- 我们不确定处理这种情况的最佳方法是什么,同时让社区满意。一些(但不是全部!)选项包括关闭过时的 issues、给予更多人管理 issues 的权限以及自动关闭不遵循 issue 模板的 issues。我们编写了“维护者期望”指南以设定期望并避免意外。如果您对如何使维护者的体验更好以及确保打开 issues 和 pull requests 的人感到被倾听和重视有任何想法,请告诉我们!
GeekyAnts
- 我们在 Chain React 上演示了 Designer Tool,它可以与 React Native 文件一起使用。许多与会者注册了候补名单。
- 我们还在研究其他跨平台解决方案,例如 Google Flutter(即将进行重大比较)、Kotlin Native 和 Apache Weex,以了解架构差异以及我们可以从中学到什么来提高 React Native 的整体性能。
- 我们的大多数应用程序都切换到 react-navigation,这提高了整体性能。
- 此外,还宣布了 NativeBase Market - 一个面向 React Native 组件和应用程序的市场(面向开发人员和由开发人员开发)。
Infinite Red
- 我们想介绍一下 Reactotron。查看介绍视频。我们很快将添加更多功能!
- 组织了 Chain React 会议。非常棒,感谢大家的到来!视频现在已上线!
Microsoft
- CodePush 现在已集成到 Mobile Center 中。现有用户的工作流程不会发生任何变化。
- 有些人报告了重复应用程序的问题 - 他们已经在 Mobile Center 上有一个应用程序。我们正在努力解决它们,但如果您有两个应用程序,请告知我们,我们可以为您合并它们。
- Mobile Center 现在支持 CodePush 的推送通知。我们还展示了如何将通知和 CodePush 结合使用来进行 A/B 测试应用程序 - 这是 ReactNative 架构独有的功能。
- VS Code 在 ReactNative 中存在一个已知的调试问题 - 几天后发布的扩展程序的下一个版本将修复该问题。
- 由于 Microsoft 内部还有许多其他团队也在从事 React Native 的工作,因此我们将努力在下次会议上获得所有小组的更好代表。
Shoutem
- 完成了在 Shoutem 上简化 React Native 开发的过程。在 Shoutem 上开发应用程序时,您可以使用所有标准的
react-native
命令。 - 我们做了很多工作,试图找出在 React Native 上进行性能分析的最佳方法。文档的很大一部分已经过时,我们将尽最大努力在官方文档上创建一个 pull request,或者至少在一篇博客文章中写下我们的一些结论。
- 将我们的导航解决方案切换到 react-navigation,因此我们可能很快会收到一些反馈。
- 我们在我们的工具包中发布了 一个新的 HTML 组件,它将原始 HTML 转换为 React Native 组件树。
Wix
- 我们开始处理 Metro Bundler 的 pull request,其中包含 react-native-repackager 功能。我们更新了 react-native-repackager 以支持 RN 44(我们在生产中使用)。我们将其用于 detox 的模拟基础设施。
- 在过去的三周里,我们一直在 detox 测试中覆盖 Wix 应用程序。这是一个惊人的学习体验,了解如何在如此规模的应用程序(超过 40 名工程师)中减少手动 QA。我们因此解决了 detox 的几个问题,新版本刚刚发布。我很高兴地报告,我们正在兑现“零不稳定策略”,到目前为止,测试一直稳定通过。
- Detox for Android 进展顺利。我们得到了社区的大力帮助。我们预计大约两周内会推出初始版本。
- DetoxInstruments,我们的性能测试工具,正在变得比我们最初预期的要大一点。我们现在计划将其转变为一个独立的工具,该工具不会与 detox 紧密耦合。它将允许调查 iOS 应用程序的整体性能。它还将与 detox 集成,以便我们可以对性能指标运行自动化测试。
下次会议
下次会议定于 2017 年 8 月 16 日。由于这只是我们的第二次会议,我们想知道这些笔记对 React Native 社区有何益处。如果您对我们如何改进会议的输出有任何建议,请随时在 Twitter 上 ping 我。