跳到主要内容

React Native:将现代网络技术带到移动端

·3 分钟阅读
Tom Occhino
Facebook 工程经理

两年前,我们向世界介绍了 React,自那以后,它在 Facebook 内部和外部都取得了令人瞩目的增长。如今,即使没有人被迫使用它,Facebook 的新 Web 项目也普遍以某种形式使用 React 构建,并且它在整个行业中得到了广泛采用。工程师们每天选择使用 React,因为它能让他们将更多时间专注于产品,更少时间与框架搏斗。然而,直到我们用 React 构建了一段时间后,我们才开始理解它如此强大的原因。

React 强制我们将应用程序分解成离散的组件,每个组件代表一个单一视图。这些组件使得产品迭代更加容易,因为我们无需在更改其中一部分时将整个系统都记在脑中。但更重要的是,React 用声明式 API 封装了 DOM 的命令式、可变 API,这提高了抽象级别并简化了编程模型。我们发现,使用 React 构建时,我们的代码更具可预测性。这种可预测性使我们能够自信地更快迭代,因此我们的应用程序也更加可靠。此外,使用 React 构建的应用程序不仅更容易扩展,我们还发现团队本身的规模也更容易扩展。

结合 Web 的快速迭代周期,我们已经能够使用 React 构建一些出色的产品,包括 Facebook.com 的许多组件。此外,我们还在 React 之上构建了令人惊叹的 JavaScript 框架,例如 Relay,它使我们能够大规模地极大地简化数据获取。当然,Web 只是故事的一部分。Facebook 还有广泛使用的 Android 和 iOS 应用程序,它们是在不相干的专有技术栈之上构建的。不得不在多个平台上构建我们的应用程序使我们的工程组织分化,但这只是使原生移动应用程序开发困难的其中一个原因。

这是摘录。请在 Facebook Code 上阅读帖子的其余部分。