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 Code 上阅读文章的其余部分。