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