React Native:将现代网络技术带到移动端
两年前,我们将 React 介绍给世界,从那时起,它在 Facebook 内部和外部都取得了令人瞩目的增长。如今,尽管没有人被强制使用它,但 Facebook 的新 Web 项目通常都以某种形式使用 React 构建,并且它在整个行业中得到了广泛采用。工程师们每天都选择使用 React,因为它使他们能够花更多时间专注于产品,而更少时间与框架作斗争。然而,直到我们使用 React 构建了一段时间后,我们才开始理解它如此强大的原因。
React 强制我们将应用程序分解成离散的组件,每个组件代表一个单独的视图。这些组件使我们更容易迭代产品,因为我们不需要在更改其中一部分时将整个系统都放在脑海中。然而,更重要的是,React 将 DOM 的可变、命令式 API 封装成一个声明式 API,这提高了抽象级别并简化了编程模型。我们发现,当我们使用 React 构建时,我们的代码更具可预测性。这种可预测性使我们能够更快速、更自信地迭代,因此我们的应用程序也更可靠。此外,使用 React 构建的应用程序不仅更容易扩展,我们还发现团队本身的规模也更容易扩展。
结合 Web 的快速迭代周期,我们已经能够使用 React 构建出一些很棒的产品,包括 Facebook.com 的许多组件。此外,我们还在 React 的基础上构建了令人惊叹的 JavaScript 框架,例如 Relay,它使我们能够极大地简化大规模数据获取。当然,Web 只是故事的一部分。Facebook 还有广泛使用的 Android 和 iOS 应用程序,它们都构建在不相干的、专有技术栈之上。不得不在多个平台上构建我们的应用程序,这使我们的工程组织分化,但这只是使原生移动应用程序开发变得困难的原因之一。
这是摘录。请在 Facebook Code 上阅读帖子的其余部分。