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