React Native - 2021 年 H2 季度回顾
虽然我们仍然对 React Native 0.67 版本的发布感到兴奋,但我们想花一点时间来庆祝社区在上半年的成就,并分享我们对 React Native 未来展望。
具体而言,对于我们和社区来说,2021 年 H2 季度都是令人兴奋的半年,我们有机会在我们的开源生态系统中投入更多。我们改进了一些流程,并从头开始创建了新的流程,这将帮助您、我们和社区享受更好的 React Native 体验。
仓库健康状况
在 2021 年 H2 季度,我们投入精力解决我们仓库多年来积累的一些开源债务。具体而言,我们的大部分重点都放在拉取请求上。我们建立了一个内部流程,以确保及时处理所有新的拉取请求。
虽然这不是一个完整的列表,但我们想重点介绍一些我们从贡献者那里收到的有影响力的 PR
- 辅助功能
- #31630
为 Flatlist 添加了从集合进入/退出的支持
,作者:@anaskhraza
- #31630
- 崩溃
- #29452
修复 - TextInput Drawable 以避免空指针异常运行时错误
,作者:@fabriziobertoglio1987
- #29452
- 显示
- #31777
修复:TouchableNativeFeedback 水波纹从上次触摸位置开始
,作者:@intergalacticspacehighway - #31789
修复 Android 上大于 64 KB 的 Blob 支持
,作者:@tomekzaw - #31007
修复 selectionColor 不会样式化 Android TextInput 选择句柄
,作者:@fabriziobertoglio1987 - #32398
修复 Android 边框定位回归
,作者:@oblador - #29099
[Android] 允许设置单独的(左、上、右、下)点线/虚线边框
,作者:@fabriziobertoglio1987 - #29117
[Android] 修复字体粗细数值
,作者:@fabriziobertoglio1987
- #31777
- 交互
- #28995
[Android] 修复当占位符为空时 TextInput 光标跳转到右侧的问题
,作者:@fabriziobertoglio1987 - #28952
[Android] 修复 FlatList 中无法选择文本的问题
,作者:@fabriziobertoglio1987 - #29046
[Android] 使用数字键时 onKeyPress 事件未触发
,作者:@fabriziobertoglio1987 - #31500
fix#29319 - ios dismiss modal
,作者:@intergalacticspacehighway - #32179
修复:尝试移动光标时,多行 textinput 开始“抖动”。
,作者:@xiankuncheng - #29039
修复使在 Android 上父边界之外的视图上的点击生效的问题
,作者:@hsource
- #28995
- 性能
- #31764
优化 iOS 上的字体处理
,作者:@Adlai-Holler - #32536
不要在分屏时重建应用组件
,作者:@Somena1
- #31764
- 测试
- #31401
为 VirtualizedList 渲染怪癖添加单元测试
,作者:@NickGerleman
- #31401
其中一些 PR 解决了影响 Meta 和整个 OSS 社区的问题,考虑到它们关闭的相应问题上的反应数量。
我们还有很多 PR 想要提及,并且我们想再次感谢所有花费时间帮助我们解决错误并改进 React Native 的人。
社区互动
在上半年初,我们设定了一个目标,即与我们的社区更多地沟通,并为这种行为的持续进行设定流程。以下是我们在 2021 年 H2 季度的一些互动
- 我们有机会参加 React Native EU,Joshua Gross 发表了演讲 - 将 Fabric 渲染器引入“Facebook”应用
- 我们在 Reddit 上主持了 “问我们任何问题”(AUA),并收到了 100 多个问题! AUA 对于我们来说是一个了解社区参与度的好机会,对于大家来说也是一个提出任何类型问题的好机会。如果您还没有查看答案,请务必查看,因为其中一些答案非常有见地
- 我们分享了我们的 多平台愿景,Android 12 和 iOS 15 的注意事项指南,以及 Hermes 成为 React Native 默认 JS 引擎的进展和愿景!
- 我们自己的 Kevin Gozali 出现在 React Native Radio 播客的一集中,讨论新架构。
- 在 ReactConf 2021 上,ReactConf Rick Hanlon 分享了 React 和 React Native 的统一多平台愿景。此外,Eric Rozell 和 Steven Moyes 分享了 React Native Desktop 在支持 Meta 和 Microsoft 应用方面取得的惊人进展,并展示了多平台愿景的实践。
除了在 2021 年 H2 季度分享更多更新之外,我们还比以往任何时候都更依赖我们的社区。我们依靠贡献者的重要反馈,因为他们试用了新架构材料的早期草稿。此外,我们在调试关键发布问题和改进方面得到了社区专长的有力支持。
我们的社区为 React Native 带来了丰富的知识,我们需要继续培养它。
新架构推广和发布
2022 年将是开源新架构之年。
我们一直在努力交付将新架构推广到应用和库所需的基础设施。我们邀请了一些合作伙伴和核心贡献者/库维护者来完善我们对新架构的支持,以获得早期阶段的反馈。
我们现在正准备在我们的网站上发布一份新的指南:新架构入门。这将是我们在 2022 年发布的一系列材料的入口点,并将帮助您使用新架构迁移/启动您的项目。
此外,我们想强调提供反馈关于新架构材料的重要性。我们仍在最终确定最后的细节,您的意见将帮助每个人更顺利地采用新架构。
发布在新架构推广中起着至关重要的作用。我们上半年的目标是确保任何阻止发布的问题都不会停滞不前。我们通过明确和改进流程和职责来提高问责制,从而解决了这个问题。我们的发布协调现在在专门的讨论仓库中进行,并提供更清晰的发布问题报告。
在 2022 年 H1 季度,我们将继续迭代发布职责,以支持新架构的推广。如果您想帮助测试发布候选版本或致力于改进,请随时加入讨论!
面向移动及更远领域
正如您从 ReactConf 演讲阵容中看到的那样,React Native 不仅限于 Android 和 iOS。
在 2021 年初,我们分享了我们的 多平台愿景,并且我们在 Desktop 和 VR 上成功推广了 React Native。
我们期待着将平台特定的融合模式融入 React Native 体验中。
最后,我们要再次感谢社区在 2021 年 H2 季度给予的巨大支持。看到贡献者齐聚一堂,在 GitHub 上互相支持、修复错误、分享经验并帮助我们将 React Native 交付给数百万用户,总是令人惊叹。
敬请期待,并期待更加精彩的 2022 年 🎉!