React Native:将现代 Web 技术引入移动端
两年前,我们向世界介绍了 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 代码 上阅读文章的其余部分。