跳到主要内容

React Native 每月精选 #2

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

React Native 月度会议继续进行!在本次会议上,我们邀请了 Infinite RedChain React,React Native 会议背后的伟大团队。由于这里的大多数人都在 Chain React 会议上发表演讲,我们将会议推迟了一周。会议的演讲已发布到网上,我鼓励您去观看。那么,让我们看看我们的团队在忙些什么。

团队

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

笔记

以下是每个团队的笔记

Airbnb

Callstack

  • Mike Grabowski 一如既往地管理着 React Native 的每月发布,包括发布了一些 beta 版本。特别是,致力于发布 v0.43.5 版本到 npm,因为它将解除 Windows 用户的阻塞!
  • 关于 Haul 的缓慢但持续的工作正在进行中。有一个 pull request 添加了 HMR,其他改进也已发布。最近,一些行业领导者开始采用它。可能计划开始在该领域进行全职付费工作。
  • 来自 Jest 团队的 Michał Pierzchała 本月加入了我们在 Callstack 的团队。他将帮助维护 Haul,并可能参与 Metro BundlerJest 的工作。
  • Satyajit Sahoo 现在加入了我们,太棒了!
  • 我们的 OSS 部门即将推出许多很酷的东西。特别是,致力于将 Material Palette API 引入 React Native。计划最终发布我们的原生 iOS 套件,旨在提供与原生组件 1:1 的外观和感觉。

Expo

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

Facebook

  • Facebook 正在内部探索是否能够将原生 ComponentKitLitho 组件嵌入到 React Native 中。
  • 非常欢迎大家为 React Native 做出贡献!如果您想知道如何贡献,“如何贡献”指南 描述了我们的开发流程,并列出了发送您的第一个 pull request 的步骤。还有其他无需编写代码的贡献方式,例如通过分类问题或更新文档。
    • 在撰写本文时,React Native 有 635未解决的问题249未完成的 pull request。这对于我们的维护者来说是压倒性的,并且当内部修复问题时,很难确保相关任务得到更新。
    • 我们不确定在保持社区满意度的同时,处理这种情况的最佳方法是什么。一些(但不是全部!)选项包括关闭过时的问题、给予更多人管理问题的权限以及自动关闭不遵循问题模板的问题。我们编写了“维护者期望”指南,以设定期望并避免意外。如果您对如何使维护者的体验更好,并确保提出问题和 pull request 的人感到被倾听和重视有任何想法,请告诉我们!

GeekyAnts

  • 我们在 Chain React 上演示了 Designer Tool,它可以与 React Native 文件一起使用。许多与会者注册了等待列表。
  • 我们还在研究其他跨平台解决方案,例如 Google Flutter(即将进行重大比较)、Kotlin NativeApache Weex,以了解架构差异以及我们可以从中学习什么来提高 React Native 的整体性能。
  • 我们的大多数应用都切换到了 react-navigation,这提高了整体性能。
  • 此外,还发布了 NativeBase Market - 一个面向 React Native 组件和应用的 marketplace(面向开发者和由开发者构建)。

Infinite Red

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 问题,并且刚刚发布了新版本。我很高兴地报告,我们正在兑现“零抖动策略”,并且到目前为止测试一直稳定通过。
  • Android 版 Detox 进展顺利。我们得到了社区的大力帮助。我们预计在两周左右的时间内发布初始版本。
  • DetoxInstruments,我们的性能测试工具,变得比我们最初预期的要大一些。我们现在计划将其转变为一个独立工具,该工具将不会与 detox 紧密耦合。它将允许调查 iOS 应用的整体性能。它还将与 detox 集成,以便我们可以对性能指标运行自动化测试。

下次会议

下次会议计划于 2017 年 8 月 16 日举行。由于这只是我们的第二次会议,我们想知道这些笔记如何使 React Native 社区受益。如果您对我们应该如何改进会议的输出有任何建议,请随时在 Twitter 上 ping 我。