跳至主要内容

React Native 每月会议 #2

·阅读时长 8 分钟
Tomislav Tenodi
Shoutem 产品经理

React Native 每月会议继续!在本届会议上,我们邀请了 Infinite Red,他们是 Chain React(React Native 大会) 背后的杰出团队。由于大多数与会者都在 Chain React 上发表演讲,因此我们将会议推迟了一周。会议的演讲已 在线发布,我鼓励您观看。那么,让我们看看我们的团队在做什么。

团队

在第二次会议上,有 9 个团队加入了我们

备注

以下是每个团队的备注

Airbnb

Callstack

  • Mike Grabowski 一直在管理 React Native 的每月发布,包括发布了一些 Beta 版本。特别是,致力于将 v0.43.5 版本发布到 npm,因为它可以解除 Windows 用户的限制!
  • Haul 上正在进行缓慢但持续的工作。有一个拉取请求添加了 HMR,并且已经发布了其他改进。最近有一些行业领导者开始采用它。可能计划开始在这方面进行全职付费工作。
  • Michał Pierzchała 来自 Jest 团队,本月加入了 Callstack。他将帮助维护 Haul,并可能参与 Metro BundlerJest 的工作。
  • Satyajit Sahoo 现在加入了我们,太棒了!
  • 我们的开源部门即将推出许多很棒的东西。特别是,致力于将 Material Palette API 引入 React Native。计划最终发布我们的原生 iOS 套件,旨在提供与原生组件 1:1 的外观和手感。

Expo

  • 最近推出了 Native Directory,以帮助在 React Native 生态系统中发现和评估库。问题:库很多,难以测试,需要手动应用启发式方法,并且无法立即清楚哪些库是最好的、应该使用的库。也很难知道某个库是否与 CRNA/Expo 兼容。因此,Native Directory 试图解决这些问题。查看它并 添加您的库。库列表在 这里。这只是我们对它的初步尝试,我们希望它由社区拥有和运行,而不仅仅是 Expo 人员。因此,如果您认为这很有价值并希望改进它,请参与进来!
  • Snack 中添加了对使用 Expo SDK 19 安装 npm 包的初始支持。如果您遇到任何问题,请告诉我们,我们仍在解决一些错误。与 Native Directory 结合使用,这应该可以轻松测试仅具有 JS 依赖项或包含在 Expo SDK 中的依赖项的库。试试看
  • 发布了 Expo SDK19,并在各方面进行了大量改进,我们现在正在使用 更新的 Android JSC
  • 正在与 Alexander Kotliarskyi 合作编写文档指南,其中列出了有关如何改善应用用户体验的提示。请加入并补充列表或帮助编写其中的一些内容!
  • 继续致力于:音频/视频、相机、手势(与 Software Mansion 合作,react-native-gesture-handler)、GL 相机集成,并希望在 SDK20(8 月)中首次实现其中一些功能,并在那时对其他功能进行重大改进。我们刚刚开始在 Expo 客户端中构建用于后台工作的基础设施(地理位置、音频、处理通知等)。
  • Adam Miskiewiczreact-navigation 中模仿 UINavigationController 的过渡方面取得了一些不错的进展。查看他 推文中 的早期版本 - 即将发布。还可以查看 MaskedViewIOS,他 将其上游。如果您具备技能和愿望来为 Android 实现 MaskedView,那将非常棒!

Facebook

  • Facebook 在内部探索能够将原生的 ComponentKitLitho 组件嵌入到 React Native 中。
  • 非常欢迎对 React Native 进行贡献!如果您想知道如何贡献,“如何贡献”指南 描述了我们的开发流程并概述了发送第一个拉取请求的步骤。还有其他不需要编写代码的贡献方式,例如对问题进行分类或更新文档。
    • 在撰写本文时,React Native 有 635未解决的问题249未合并的拉取请求。这对我们的维护人员来说不堪重负,并且当内部修复问题时,很难确保相关任务得到更新。

    • 我们不确定在保持社区满意的情况下,处理这个问题的最佳方法是什么。一些(但不是全部!)选项包括关闭陈旧的问题、授予更多人管理问题的权限,以及自动关闭不符合问题模板的问题。我们编写了一份“对维护人员的期望”指南来设定期望并避免意外。如果您有任何想法,关于我们如何改善维护人员的体验,以及如何确保打开问题和拉取请求的人感到被倾听和重视,请告诉我们!

GeekyAnts

  • 我们在 Chain React 上演示了与 React Native 文件一起使用的设计器工具。许多与会者报名参加了候补名单。
  • 我们还在研究其他跨平台解决方案,例如 Google Flutter(即将进行主要比较)、Kotlin NativeApache Weex,以了解架构差异以及我们能从中学习什么来提高 React Native 的整体性能。
  • 将大多数应用程序切换到 react-navigation,这提高了整体性能。
  • 此外,宣布了 NativeBase Market - 一个用于 React Native 组件和应用程序的市场(供开发人员使用,也由开发人员创建)。

Infinite Red

Microsoft

  • CodePush 现已集成到 Mobile Center 中。现有用户的工作流程不会有任何变化。
    • 有些人报告了重复应用程序的问题 - 他们已经在 Mobile Center 上有一个应用程序。我们正在努力解决这些问题,但如果您有两个应用程序,请告诉我们,我们可以为您合并它们。
  • Mobile Center 现在支持 CodePush 的推送通知。我们还展示了如何将通知和 CodePush 结合起来用于 A/B 测试应用程序 - 这对于 ReactNative 架构来说是独一无二的。
  • VS Code 在 ReactNative 中存在一个已知的调试问题 - 几天后发布的扩展程序的下一个版本将修复此问题。
  • 由于微软内部还有许多其他团队也在开发 React Native,因此我们将努力让所有团队在下次会议上获得更好的代表权。

Shoutem

  • 完成了在 Shoutem 上简化 React Native 开发的过程。在 Shoutem 上开发应用程序时,您可以使用所有标准的 react-native 命令。
  • 我们做了很多工作试图弄清楚如何在 React Native 上最好地进行性能分析。很大一部分 文档 已过时,我们将尽最大努力在官方文档上创建一个拉取请求,或者至少在博客文章中写下我们的一些结论。
  • 将我们的导航解决方案切换到 react-navigation,因此我们可能很快就会收到一些反馈。
  • 我们在工具包中发布了 一个新的 HTML 组件,它将原始 HTML 转换为 React Native 组件树。

Wix

  • 我们开始着手向 Metro Bundler 发起一个拉取请求,并具有 react-native-repackager 的功能。我们更新了 react-native-repackager 以支持 RN 44(我们在生产环境中使用)。我们将其用于 detox 的模拟基础设施。
  • 在过去三周里,我们一直在使用 detox 测试覆盖 Wix 应用程序。这是一个关于如何在如此规模的应用程序(超过 40 位工程师)中减少手动 QA 的绝佳学习体验。因此,我们解决了 detox 的几个问题,一个新版本刚刚发布。我很高兴地报告,我们正在兑现“零不稳定性政策”,并且到目前为止测试一直稳定地通过。
  • Android 版 Detox 正在稳步推进。我们正在得到社区的大力帮助。我们预计大约两周后发布初始版本。
  • DetoxInstruments,我们的性能测试工具,比我们最初预期的要大一些。我们现在计划将其转变为一个独立的工具,它不会与 detox 密切耦合。它将允许调查 iOS 应用程序的整体性能。它还将与 detox 集成,以便我们对性能指标运行自动化测试。

下次会议

下次会议定于 2017 年 8 月 16 日举行。由于这仅仅是我们第二次会议,我们想知道这些记录如何使 React Native 社区受益。如果您对我们如何改进会议成果有任何建议,请随时在 Twitter 上联系我。